Class: DanarchySys::CLI

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

Instance Method Summary collapse

Constructor Details

#initializeCLI

Returns a new instance of CLI.



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/danarchy_sys/cli.rb', line 8

def initialize
  require_relative 'cli/menus'
  require_relative 'cli/providers'
  require_relative 'cli/instance_manager'
  require_relative 'cli/keypair_manager'

  provider = Providers.chooser
  puts "OpenStack -> #{provider}"
  @os_compute = DanarchySys::OpenStack::Compute.new provider
  console
end

Instance Method Details

#consoleObject



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/danarchy_sys/cli.rb', line 34

def console
  menu = Menus.numbered_menu('main')
  Menus.print_menu('main')

  loop do
    print 'command ~: '
    cmd = gets.chomp

    next if cmd.empty?
    if cmd =~ /^[0-9]*$/
      menu[cmd.to_i].map { |k, v| cmd = k } if menu.keys.include? cmd.to_i
    end

    if cmd == 'instance'
      InstanceManager.manager(@os_compute)
    elsif cmd == 'keypair'
      KeypairManager.manager(@os_compute)
    elsif cmd == 'help'
      Menus.print_menu('main')
    elsif cmd == 'exit'
      abort('Exiting!')
    else
      Menus.print_menu('main')
      puts "\nCommand \'#{cmd}\' not available. Enter a command from above."
    end
  end
end

#instance_chooserObject



20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'lib/danarchy_sys/cli.rb', line 20

def instance_chooser
  inst_mgr = InstanceManager.new(@os_compute)
  instance = inst_mgr.chooser(@os_compute)

  until instance != false
    puts "\nReturning to Instance Chooser"
    instance = inst_mgr.chooser(@os_compute)
  end

  menus('main')
  puts "\nWorking with: #{instance.name}\tStatus: #{instance.state}"
  console(instance.name)
end