class RestClient::Payload::Base

def flatten_params(params, parent_key = nil)

{keys1 => {keys2 => value}} will be transformed into [keys1[key2], value]
Flatten parameters by converting hashes of hashes to flat hashes
def flatten_params(params, parent_key = nil)
  result = []
  params.each do |key, value|
    calculated_key = parent_key ? "#{parent_key}[#{handle_key(key)}]" : handle_key(key)
    if value.is_a? Hash
      result += flatten_params(value, calculated_key)
    elsif value.is_a? Array
      result += flatten_params_array(value, calculated_key)
    else
      result << [calculated_key, value]
    end
  end
  result
end