module JSONAPI::SimpleClient::QueryParams
Public Class Methods
parse(params)
click to toggle source
@param params [Hash] @return [Hash]
# File lib/jsonapi/simple_client/query_params.rb, line 9 def parse(params) params.each_with_object({}) do |(key, value), hash| hash.merge!( value.is_a?(Hash) ? parse_nested_param(key, value) : { key => parse_param(value) } ) end end
Private Class Methods
parse_nested_param(root, value)
click to toggle source
@param root [String] @param value [Hash] @return [Hash]
# File lib/jsonapi/simple_client/query_params.rb, line 22 def parse_nested_param(root, value) value.map { |key, nested_value| ["#{root}[#{key}]", parse_param(nested_value)] }.to_h end
parse_param(value)
click to toggle source
@param value [Object] @raise [ArgumentError] if value is a Hash. @return [String]
# File lib/jsonapi/simple_client/query_params.rb, line 29 def parse_param(value) case value when Hash raise ArgumentError, "Multi nested params are not supported." when Array value.join(",") else value.to_s end end