Sha256: ecd2cd3fd42829aa0c29f1ede191fc981f40865ba61c19732fa8e112f61bb4f7

Contents?: true

Size: 792 Bytes

Versions: 74

Compression:

Stored size: 792 Bytes

Contents

begin
  require 'trollop'
rescue LoadError
  require 'rubygems'
  require 'trollop'
end
require 'gherkin/tools'

module Gherkin
  module Cli
    class Main
      def self.run(args)
        Trollop::options(args) do
          banner "Super fast gherkin parser"
          stop_on Tools::SUB_COMMANDS
        end

        cmd_name = args.shift
        die("Missing command") if cmd_name.nil?
        begin
          cmd = Tools.const_get(cmd_name.capitalize.to_sym).new(args)
          cmd.run
        rescue => e
          Trollop::die(e.message + "\n#{e.backtrace.join("\n")}\n\nCommand: #{cmd_name}")
        end
      end

      def self.die(msg)
        Trollop::die("#{msg}\nusage: gherkin COMMAND [ARGS]\nAvailable commands: #{Tools::SUB_COMMANDS.join(' ')}")
      end
    end
  end
end

Version data entries

74 entries across 74 versions & 1 rubygems

Version Path
gherkin-2.2.7 lib/gherkin/cli/main.rb
gherkin-2.2.7-x86-mswin32 lib/gherkin/cli/main.rb
gherkin-2.2.7-x86-mingw32 lib/gherkin/cli/main.rb
gherkin-2.2.7-universal-dotnet lib/gherkin/cli/main.rb
gherkin-2.2.7-java lib/gherkin/cli/main.rb
gherkin-2.2.6 lib/gherkin/cli/main.rb
gherkin-2.2.6-x86-mswin32 lib/gherkin/cli/main.rb
gherkin-2.2.6-x86-mingw32 lib/gherkin/cli/main.rb
gherkin-2.2.6-universal-dotnet lib/gherkin/cli/main.rb
gherkin-2.2.6-java lib/gherkin/cli/main.rb
gherkin-2.2.5 lib/gherkin/cli/main.rb
gherkin-2.2.5-x86-mswin32 lib/gherkin/cli/main.rb
gherkin-2.2.5-x86-mingw32 lib/gherkin/cli/main.rb
gherkin-2.2.5-universal-dotnet lib/gherkin/cli/main.rb
gherkin-2.2.5-java lib/gherkin/cli/main.rb
gherkin-2.2.4 lib/gherkin/cli/main.rb
gherkin-2.2.4-i386-mswin32 lib/gherkin/cli/main.rb
gherkin-2.2.4-i386-mingw32 lib/gherkin/cli/main.rb
gherkin-2.2.4-universal-dotnet lib/gherkin/cli/main.rb
gherkin-2.2.4-java lib/gherkin/cli/main.rb