Module: Airrecord::QueryString
- Defined in:
- lib/airrecord/query_string.rb
Overview
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.
Defined Under Namespace
Modules: Encodings
Class Method Summary collapse
Class Method Details
.decode(query) ⇒ Object
14 15 16 |
# File 'lib/airrecord/query_string.rb', line 14 def self.decode(query) Faraday::NestedParamsEncoder.decode(query) end |
.encode(params) ⇒ Object
10 11 12 |
# 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) ⇒ Object
18 19 20 |
# File 'lib/airrecord/query_string.rb', line 18 def self.escape(*query) query.map { |qs| ERB::Util.url_encode(qs) }.join('') end |