module FireAndForget::Utilities

Public Instance Methods

to_arguments(params={}) click to toggle source
# File lib/fire_and_forget/utilities.rb, line 4
def to_arguments(params={})
  params.keys.sort { |a, b| a.to_s <=> b.to_s }.map do |key|
    %(--#{key}=#{to_parameter(params[key])})
  end.join(" ")
end
to_parameter(obj) click to toggle source

Maps objects to command line parameters suitable for parsing by Thor @see github.com/wycats/thor

# File lib/fire_and_forget/utilities.rb, line 12
def to_parameter(obj)
  case obj
  when String
    obj.inspect
  when Array
    obj.map { |o| to_parameter(o) }.join(' ')
  when Hash
    obj.map do |k, v|
      "#{k}:#{to_parameter(obj[k])}"
    end.join(' ')
  when Numeric
    obj
  else
    to_parameter(obj.to_s)
  end
end