module MWS::Query::Helpers

Helpers

Public Class Methods

camelize_keys(params = {}) click to toggle source
# File lib/mws/query.rb, line 80
def self.camelize_keys(params = {})
  params.map do |key, value|
    case value.class.name
    when 'Hash'
      { key.to_s.camelize => camelize_keys(value) }
    else
      { key.to_s.camelize => value }
    end
  end.reduce({}, :merge)
end
escape_date_time_params(params = {}) click to toggle source
# File lib/mws/query.rb, line 67
def self.escape_date_time_params(params = {})
  params.map do |key, value|
    case value.class.name
    when 'Time', 'Date', 'DateTime'
      { key => value.iso8601 }
    when 'Hash'
      { key => escape_date_time_params(value) }
    else
      { key => value }
    end
  end.reduce({}, :merge)
end
make_structured_lists(params = {}) click to toggle source
# File lib/mws/query.rb, line 91
def self.make_structured_lists(params = {})
  params.map do |key, value|
    if key.to_s.end_with?('list')
      value[:values].each_with_index.map do |item, index|
        { "#{value[:label]}.#{index + 1}" => item }
      end.reduce({}, :merge)
    else
      { key => value }
    end
  end.reduce({}, :merge)
end