module Airrecord::QueryString

Airtable expects that arrays in query strings be encoded with indices. Faraday follows Rack conventions and encodes arrays without indices.

Airrecord::QueryString is a Faraday-compliant params_encoder that follows the Airtable spec.

Public Class Methods

decode(query) click to toggle source
# File lib/airrecord/query_string.rb, line 14
def self.decode(query)
  Faraday::NestedParamsEncoder.decode(query)
end
encode(params) click to toggle source
# File lib/airrecord/query_string.rb, line 10
def self.encode(params)
  params.map { |key, val| Encodings[val].call(key, val) }.join('&')
end
escape(*query) click to toggle source
# File lib/airrecord/query_string.rb, line 18
def self.escape(*query)
  query.map { |qs| ERB::Util.url_encode(qs) }.join('')
end