class Balancer::OptionTransformer

Public Instance Methods

key_to_cli_option(key) click to toggle source

resource_arns => –resource-arns

# File lib/balancer/option_transformer.rb, line 35
def key_to_cli_option(key)
  '--' + key.to_s.gsub('_','-')
end
to_cli(options) click to toggle source
# 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