Class: Providers

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

Class Method Summary collapse

Class Method Details

.chooserObject



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
29
30
31
32
33
# File 'lib/danarchy_sys/cli/providers.rb', line 3

def self.chooser
  danarchysys_config = DanarchySys::ConfigManager::Config.new
  providers = Helpers.array_to_numhash(danarchysys_config[:connections].keys)
  provider = 'nil'

  if providers.count == 1
    provider = providers[1]
    return provider
  end      

  fields = PrintFormats.printf_hash(providers)
  printf("#{fields}\n", 'Id', 'Provider')
  providers.each do |id, provider|
    printf("#{fields}\n", "#{id}.", provider)
  end

  until providers.values.include?(provider)
    print 'Which provider should we use? (enter \'exit\' to leave): '
    provider = gets.chomp

    abort('Exiting') if provider == 'exit'

    if provider =~ /^[0-9]*$/
      provider = providers[provider.to_i]
    else
      provider = provider.to_sym
    end
  end

  provider
end