Class: Evilution::CLI::Parser::CommandExtractor

Inherits:
Object
  • Object
show all
Defined in:
lib/evilution/cli/parser/command_extractor.rb

Defined Under Namespace

Classes: Result

Constant Summary collapse

SIMPLE_COMMANDS =
{
  "version" => :version,
  "init" => :init,
  "mcp" => :mcp,
  "subjects" => :subjects
}.freeze
SESSION_SUBCOMMANDS =
{
  "list" => :session_list,
  "show" => :session_show,
  "diff" => :session_diff,
  "gc" => :session_gc
}.freeze
TESTS_SUBCOMMANDS =
{ "list" => :tests_list }.freeze
ENVIRONMENT_SUBCOMMANDS =
{ "show" => :environment_show }.freeze
UTIL_SUBCOMMANDS =
{ "mutation" => :util_mutation }.freeze

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(argv) ⇒ CommandExtractor

Returns a new instance of CommandExtractor.



28
29
30
31
32
# File 'lib/evilution/cli/parser/command_extractor.rb', line 28

def initialize(argv)
  @argv = argv.dup
  @command = :run
  @parse_error = nil
end

Class Method Details

.call(argv) ⇒ Object



24
25
26
# File 'lib/evilution/cli/parser/command_extractor.rb', line 24

def self.call(argv)
  new(argv).call
end

Instance Method Details

#callObject



34
35
36
37
# File 'lib/evilution/cli/parser/command_extractor.rb', line 34

def call
  extract
  Result.new(@command, @argv, @parse_error)
end