Class: Balancer::OptionTransformer

Inherits:
Object
  • Object
show all
Defined in:
lib/balancer/option_transformer.rb

Instance Method Summary collapse

Instance Method Details

#key_to_cli_option(key) ⇒ Object

resource_arns => –resource-arns



35
36
37
# File 'lib/balancer/option_transformer.rb', line 35

def key_to_cli_option(key)
  '--' + key.to_s.gsub('_','-')
end

#to_cli(options) ⇒ Object



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
# File 'lib/balancer/option_transformer.rb', line 6

def to_cli(options)
  params = []
  options.each do |k,v|
    case v
    when Symbol, String, Integer
      params << key_to_cli_option(k) + ' ' + v.to_s
    when Array
      values = []
      v.each do |o|
        if o.is_a?(Hash)
          o.each do |x,y|
            values << "#{x.to_s.camelize}=#{y}"
          end
        else # assume string
          values << o
        end
      end

      list = v.first.is_a?(Hash) ? values.join(',') : values.join(' ')
      params << key_to_cli_option(k) + ' ' + list
    else
      puts "v.class: #{v.class.inspect}"
      raise "the roof"
    end
  end
  params.join(' ')
end