lib/bearcat/api_array.rb in bearcat-1.3.10 vs lib/bearcat/api_array.rb in bearcat-1.3.11

- old
+ new

@@ -112,14 +112,21 @@ end end end def get_page(url, params = {}) - params['per_page'] = @page_count unless params.has_key? 'per_page' || !@page_count + params['per_page'] = @page_count unless params.key?('per_page') || !@page_count query = URI.parse(url).query - p = CGI.parse(query).merge(params) + p = CGI.parse(query) u = url.gsub("?#{query}", '') - p.each { |k, v| p[k] = v.first if v.is_a?(Array) } + + # strip value out of array if value is an array and key doesn't have [] (parameter is not an array parameter) + p.each { |k, v| p[k] = v.first if v.is_a?(Array) && k !~ /\[\]$/ } + # remove [] from key names, this is copied from rails' {}.transform_keys! + p.keys.each { |k| p[k.delete('[]')] = p.delete(k) } + # merge params + p.merge!(params) + @api_client.connection.send(:get) do |r| r.url(u, p) end end