Module: Nineflats::QueryStringNormalizer

Defined in:
lib/nineflats-api/query_string_normalizer.rb

Class Method Summary collapse

Class Method Details

.normalize(query) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
# File 'lib/nineflats-api/query_string_normalizer.rb', line 3

def self.normalize(query)
  Array(query).map do |key, value|
    if value.nil?
      key.to_s
    elsif value.is_a?(Array)
      value.map {|v| "#{key}=#{URI.encode(v.to_s, Regexp.new("[^#{URI::PATTERN::UNRESERVED}]"))}"}
    else
      HashConversions.to_params(key => value)
    end
  end.flatten.sort.join('&')
end