class HTTPI::QueryBuilder::Nested

Public Class Methods

build(query) click to toggle source

Returns a query string given a Hash. Example:

build({names => ['Bruno', 'Samantha', 'Alexandre']})
# => "names[]=Bruno&names[]=Samantha&names[]=Alexandre"
# File lib/httpi/query_builder.rb, line 24
def self.build(query)
  stringfied_query = stringify_hash_values(query)
  Rack::Utils.build_nested_query(stringfied_query)
end
stringify_hash_values(query) click to toggle source

Changes Hash values into Strings

# File lib/httpi/query_builder.rb, line 32
def self.stringify_hash_values(query)
  query.each do |param, value|
    if value.kind_of?(Hash)
      query[param] = stringify_hash_values(value)
    elsif value.kind_of?(Array)
      query[param] = value.map(&:to_s)
    else
      query[param] = value.to_s
    end
  end
end