Sha256: 628ee56998a8714f2fc8d40ff3963ffef22d6f49774888fe5d6d8a09f4514d2f
Contents?: true
Size: 1.02 KB
Versions: 3
Compression:
Stored size: 1.02 KB
Contents
# encoding: utf-8 module Faraday module Utils class ParamsHash def params_encoder(encoder = nil) if encoder @encoder = encoder elsif defined?(@encoder) @encoder end end def to_query(encoder = nil) Utils.build_nested_query(self, nil, params_encoder) end end module_function def build_nested_query(value, prefix = nil, encoder = nil) case value when Array value.map { |v| build_nested_query(v, "#{prefix}%5B%5D", encoder) }.join("&") when Hash value.map { |k, v| processed_value = encoder ? encoder.escape(k) : escape(k) build_nested_query(v, prefix ? "#{prefix}%5B#{processed_value}%5D" : processed_value, encoder) }.join("&") when NilClass prefix else raise ArgumentError, "value must be a Hash" if prefix.nil? processed_value = encoder ? encoder.escape(value) : escape(value) "#{prefix}=#{processed_value}" end end end end
Version data entries
3 entries across 3 versions & 2 rubygems
Version | Path |
---|---|
github_api2-1.0.1 | lib/github_api2/ext/faraday.rb |
github_api2-1.0.0 | lib/github_api2/ext/faraday.rb |
github_api-0.19.0 | lib/github_api/ext/faraday.rb |