class Hash

def self.from_xml(xml)

def self.from_xml(xml)
  ToHashParser.from_xml(xml)
end

def normalize_param(key, value)

Other tags:
    Example: normalize_param(:name, "Bob") #=> "name=Bob&" -

Returns:
  • (String) - This key value pair as a param

Parameters:
  • value (Object) -- The value for the param.
  • key (Object) -- The key for the param.
def normalize_param(key, value)
  param = ''
  stack = []
  if value.is_a?(Array)
    param << value.map { |element| normalize_param("#{key}[]", element) }.join
  elsif value.is_a?(Hash)
    stack << [key,value]
  else
    param << "#{key}=#{URI.encode(value.to_s)}&"
  end
  stack.each do |parent, hash|
    hash.each do |key, value|
      if value.is_a?(Hash)
        stack << ["#{parent}[#{key}]", value]
      else
        param << normalize_param("#{parent}[#{key}]", value)
      end
    end
  end
  param
end

def to_params

Returns:
  • (String) - This hash as a query string
def to_params
  params = self.map { |k,v| normalize_param(k,v) }.join
  params.chop! # trailing &
  params
end