class DanarchySys::CLI

Public Class Methods

new() click to toggle source
# File lib/danarchy_sys/cli.rb, line 8
def initialize
  danarchysys_config = DanarchySys::ConfigManager::Config.new
  account = Accounts.chooser(danarchysys_config)
  connection = danarchysys_config[:accounts][account]
  puts "OpenStack -> #{account}"
  @settings   = danarchysys_config[:global_settings]
  @os_compute = DanarchySys::OpenStack::Compute.new(connection, @settings)
  console
end

Public Instance Methods

console() click to toggle source
# File lib/danarchy_sys/cli.rb, line 18
def console
  menu = Menus.numbered_menu('main')
  Menus.print_menu('main')

  loop do
    print 'command ~: '
    cmd = gets
    cmd = cmd ? cmd.chomp : abort('Exiting!')

    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, @settings)
    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