Class: Vmreverter::CLI

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

Instance Method Summary collapse

Constructor Details

#initializeCLI

Returns a new instance of CLI.



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/vmreverter/cli.rb', line 3

def initialize
  @options = Vmreverter::Options.parse_args
  @logger = Vmreverter::Logger.new(@options)
  @options[:logger] = @logger

  if not @options[:config] 
    report_and_raise(@logger, ArgumentError.new("Missing config, specify one (-c or --config)!"), "CLI: initialize") 
  end

  @logger.debug("Options")
  @options.each do |opt, val|
    if val and val != [] 
      @logger.debug("\t#{opt.to_s}:")
      if val.kind_of?(Array)
        val.each do |v|
          @logger.debug("\t\t#{v.to_s}")
        end
      else
        @logger.debug("\t\t#{val.to_s}")
      end
    end
  end

  @config = Vmreverter::ConfigTester.new(@options[:config], @options)

end

Instance Method Details

#execute!Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
# File 'lib/vmreverter/cli.rb', line 30

def execute!
        
  begin
    trap(:INT) do
      @logger.warn "Interrupt received; exiting..."
      exit(1)
    end
   
    begin
      @vmmanager = Vmreverter::VMManager.new(@config, @options, @logger)
      @vmmanager.invoke
      @vmmanager.close_connection
    rescue => e
      raise e
    end 

  end #trap
end