Class: Elesai::CLI

Inherits:
Object
  • Object
show all
Defined in:
lib/elesai/cli.rb

Constant Summary collapse

COMMANDS =
%w(show check)

Instance Method Summary collapse

Constructor Details

#initialize(arguments) ⇒ CLI

Returns a new instance of CLI.



17
18
19
20
21
22
23
24
# File 'lib/elesai/cli.rb', line 17

def initialize(arguments)
  @arguments = arguments
  @whoami = File.basename($PROGRAM_NAME).to_sym

  @options = { :debug => false, :megacli => 'MegaCli' }
  @action = nil
  @elesai = nil
end

Instance Method Details

#runObject



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/elesai/cli.rb', line 26

def run
  begin
    parsed_options?

    @log = Elesai::Logger.instance.log
    @log.level = Log4r::INFO unless @options[:debug]

    arguments_valid?
    options_valid?
    process_options
    process_arguments
    process_command

  rescue => e #ArgumentError, OptionParser::MissingArgument, Senedsa::SendNsca::ConfigurationError => e
    if @options[:debug]
      output_message "#{e.class}: #{e.message}\n  #{e.backtrace.join("\n  ")}",1
    else
      output_message e.message,1
    end
  end
end