Module: Faraday::Utils

Defined in:
lib/dezi/client.rb

Instance Method Summary collapse

Instance Method Details

#build_nested_query(value, prefix = nil) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/dezi/client.rb', line 33

def build_nested_query(value, prefix = nil)
  case value
  when Array
    value.map { |v| build_nested_query(v, "#{prefix}") }.join("&")
    #value.map { |v| build_nested_query(v, "#{prefix}%5B%5D") }.join("&")
  when Hash
    value.map { |k, v|
      build_nested_query(v, prefix ? "#{prefix}#{escape(k)}" : escape(k))
      #build_nested_query(v, prefix ? "#{prefix}%5B#{escape(k)}%5D" : escape(k))
    }.join("&")
  when NilClass
    prefix
  else
    raise ArgumentError, "value must be a Hash" if prefix.nil?
    "#{prefix}=#{escape(value)}"
  end
end