Sha256: 758d5d2512369b604fc3c1982476dd72bf32a54eb2324dae7cfd79bc6fafe541

Contents?: true

Size: 1.13 KB

Versions: 1

Compression:

Stored size: 1.13 KB

Contents

# -*- encoding : utf-8 -*-

require 'fileutils'
require 'rubygems'
require 'phrase'

class Phrase::Tool
  autoload :Config, 'phrase/tool/config'
  autoload :Options, 'phrase/tool/options'
  autoload :Formats, 'phrase/formats'
  autoload :Commands, 'phrase/tool/commands'
  autoload :TagValidator, 'phrase/tool/tag_validator'
  autoload :EncodingDetector, 'phrase/tool/encoding_detector'
  autoload :Locale, 'phrase/tool/locale'

  def initialize(argv)
    @args = argv
  end

  def run
    command_name = @args.first
    @options = Phrase::Tool::Options.new(@args, command_name)

    command = case command_name
      when /init/
        Phrase::Tool::Commands::Init.new(@options, @args)
      when /push/
        Phrase::Tool::Commands::Push.new(@options, @args)
      when /pull/
        Phrase::Tool::Commands::Pull.new(@options, @args)
      when /tags/
        Phrase::Tool::Commands::Tags.new(@options, @args)
      else
        if @options.get(:version)
          Phrase::Tool::Commands::ShowVersion.new(@options, @args)
        else
          Phrase::Tool::Commands::ShowHelp.new(@options, @args)
        end
    end
    command.execute!
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
phrase-0.4.15 lib/phrase/tool.rb