Sha256: 27fe62e3843be5520e6ad4669ec79fb35dafb456156cc5d404422000bb925e6e
Contents?: true
Size: 1.35 KB
Versions: 1
Compression:
Stored size: 1.35 KB
Contents
module Opsource module Params def url_query(params) params = camelize_keys(params) qitems = [] params.each do |k, vs| vs = [vs].flatten.compact # remove nil values vs.each {|v| qitems << "#{k}=#{v}"} end qitems.join('&') end def symbolize_keys(arg) case arg when Array arg.map { |elem| symbolize_keys elem } when Hash Hash[ arg.map { |key, value| k = key.is_a?(String) ? key.to_sym : key v = symbolize_keys value [k,v] }] else arg end end def underscore_keys(arg) case arg when Array arg.map { |elem| underscore_keys elem } when Hash Hash[ arg.map { |key, value| k = key.is_a?(String) ? key.underscore : key v = underscore_keys value [k,v] }] else arg end end def camelize_keys(arg) case arg when Array arg.map { |elem| camelize_keys elem } when Hash Hash[ arg.map { |key, value| k = key.is_a?(String) ? key.camelize(:lower) : key k = key.is_a?(Symbol) ? key.to_s.camelize(:lower).to_sym : key v = camelize_keys value [k,v] }] else arg end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
didata_cloud_sdk-0.3.1 | lib/opsource/params.rb |