module I18n::Tasks::Command::Commands::Tree

Public Instance Methods

tree_convert(opt = {}) click to toggle source
# File lib/i18n/tasks/command/commands/tree.rb, line 95
def tree_convert(opt = {})
  forest = forest_pos_or_stdin! opt.merge(format: opt[:from])
  print_forest forest, opt.merge(format: opt[:to])
end
tree_filter(opts = {}) click to toggle source
# File lib/i18n/tasks/command/commands/tree.rb, line 34
def tree_filter(opts = {})
  pattern = arg_or_pos! :pattern, opts
  forest  = forest_pos_or_stdin! opts
  unless pattern.blank?
    pattern_re = i18n.compile_key_pattern(pattern)
    forest     = forest.select_keys { |full_key, _node| full_key =~ pattern_re }
  end
  print_forest forest, opts
end
tree_merge(opts = {}) click to toggle source
# File lib/i18n/tasks/command/commands/tree.rb, line 25
def tree_merge(opts = {})
  print_forest merge_forests_stdin_and_pos!(opts), opts
end
tree_mv(opt = {}) click to toggle source
# File lib/i18n/tasks/command/commands/tree.rb, line 53
def tree_mv(opt = {})
  fail CommandError, 'requires FROM_KEY_PATTERN and TO_KEY_PATTERN' if opt[:arguments].size < 2

  from_pattern = opt[:arguments].shift
  to_pattern = opt[:arguments].shift
  forest = forest_pos_or_stdin!(opt)
  forest.mv_key!(compile_key_pattern(from_pattern), to_pattern, root: !opt[:'all-locales'])
  print_forest forest, opt
end
tree_set_value(opt = {}) click to toggle source
# File lib/i18n/tasks/command/commands/tree.rb, line 79
def tree_set_value(opt = {})
  value       = arg_or_pos! :value, opt
  forest      = forest_pos_or_stdin!(opt)
  key_pattern = opt[:pattern]
  fail CommandError, 'pass value (-v, --value)' if value.blank?

  forest.set_each_value!(value, key_pattern)
  print_forest forest, opt
end
tree_subtract(opt = {}) click to toggle source
# File lib/i18n/tasks/command/commands/tree.rb, line 68
def tree_subtract(opt = {})
  forests = forests_stdin_and_pos! opt, 2
  forest  = forests.reduce(:subtract_by_key) || empty_forest
  print_forest forest, opt
end
tree_translate(opts = {}) click to toggle source
# File lib/i18n/tasks/command/commands/tree.rb, line 15
def tree_translate(opts = {})
  forest = forest_pos_or_stdin!(opts)
  print_forest i18n.translate_forest(forest, from: opts[:from], backend: opts[:backend].to_sym), opts
end