Module: Swirl::Helpers::Expander

Included in:
AWS
Defined in:
lib/swirl/helpers.rb

Class Method Summary collapse

Class Method Details

.expand(request) ⇒ Object



63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/swirl/helpers.rb', line 63

def expand(request)
  request.inject({}) do |exp, (key, value)|
    next(exp) if !key.is_a?(String)

    case value
    when Array
      key = "#{key}.#" if key !~ /#/
      value.each_with_index do |val, n|
        exp[key.gsub("#", n.to_s)] = val
      end
    when Range
      exp["From#{key}"] = value.min
      exp["To#{key}"] = value.max
    else
      exp[key] = value
    end
    exp
  end
end