class I18n::Magic::CommandHandler

Constants

UNDER_DEV_MSG

Public Class Methods

new(args) click to toggle source
# File lib/i18n/magic.rb, line 13
def initialize(args)
  @args = args
  @opt_parser = OptionParser.new do |opt|
    opt.banner = 'Usage:'
    opt.separator '  i18n-magic [command] [options]'
    opt.separator ''

    opt.separator 'Options:'
    opt.on('-h', '--help', '# Show this help message and quit') do
      puts @opt_parser
      exit(true)
    end

    opt.separator ''

    opt.on('-v', '--version', '# Show i18n-magic version number and quit') do
      puts I18n::Magic::VERSION
      exit(true)
    end

    opt.separator ''
    opt.separator 'Commands:'
    opt.separator '  add                                # add a new translation'
    opt.separator '  server                             # start a mini server to handle missing translations form a web browser'
    opt.separator '  format                             # format all translation files for best usage results'
    opt.separator '  config                             # configure i18n-magic'
    opt.separator ''
  end

  begin
    @opt_parser.parse!
  rescue OptionParser::InvalidOption
    puts 'unknown option'
    exit(false)
  end

  handle(args)
end

Private Instance Methods

add() click to toggle source
# File lib/i18n/magic.rb, line 65
def add
  I18n::Magic::Commands::Add.new(key: @args[1], values: @args[2..-1], locale_files_path: I18n::Magic::Helpers::Environment::LOCALE_FILES_PATH).execute
end
config() click to toggle source
# File lib/i18n/magic.rb, line 77
def config
  puts UNDER_DEV_MSG
end
format() click to toggle source
# File lib/i18n/magic.rb, line 73
def format
  puts UNDER_DEV_MSG
end
handle(args) click to toggle source
# File lib/i18n/magic.rb, line 54
def handle(args)
  args[0] = nil if args.count.positive? && %w[initialize handle].include?(args[0])
  begin
    send(args[0])
  rescue TypeError
    puts @opt_parser
  rescue NoMethodError
    puts "unknown command: #{args[0]}"
  end
end
server() click to toggle source
# File lib/i18n/magic.rb, line 69
def server
  puts UNDER_DEV_MSG
end