Class: Mutant::CLI

Inherits:
Object
  • Object
show all
Includes:
Adamantium::Flat
Defined in:
lib/mutant/cli.rb

Overview

Commandline parser

Constant Summary collapse

Error =

Error failed when CLI argv is invalid

Class.new(RuntimeError)
EXIT_FAILURE =
1
EXIT_SUCCESS =
0

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(arguments) ⇒ undefined

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Initialize objecct

Parameters:

  • (Array<String>)


35
36
37
38
39
# File 'lib/mutant/cli.rb', line 35

def initialize(arguments)
  @config = Config::DEFAULT

  parse(arguments)
end

Instance Attribute Details

#configConfig (readonly)

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Config parsed from CLI

Returns:



46
47
48
# File 'lib/mutant/cli.rb', line 46

def config
  @config
end

Class Method Details

.run(arguments) ⇒ Fixnum

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Run cli with arguments

Parameters:

  • arguments (Array<String>)

Returns:

  • (Fixnum)

    the exit status



21
22
23
24
25
26
# File 'lib/mutant/cli.rb', line 21

def self.run(arguments)
  Runner.call(Env::Bootstrap.call(call(arguments))).success? ? EXIT_SUCCESS : EXIT_FAILURE
rescue Error => exception
  $stderr.puts(exception.message)
  EXIT_FAILURE
end