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