Module: NetProspex::Helpers::Formatters
- Included in:
- Client, Middleware::Rubyize
- Defined in:
- lib/netprospex/helpers/formatters.rb
Instance Method Summary collapse
Instance Method Details
#rubyize_keys(hash) ⇒ Object
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/netprospex/helpers/formatters.rb', line 44 def rubyize_keys(hash) new_hash = {} hash.each do |k,v| new_k = case k when String k.underscore.to_sym else k end new_v = case v when Hash rubyize_keys(v) when Array v.map {|w| (Hash === w) ? rubyize_keys(w) : w} else v end new_hash[new_k] = new_v end new_hash end |
#stringify_query(query) ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
# File 'lib/netprospex/helpers/formatters.rb', line 7 def stringify_query(query) return "" if query.blank? components = [] unrubyize_keys(query).each do |k,v| if v.is_a? Array v.each do |w| components << [k+'[]', w] end else components << [k,v] end end "?" + URI.encode_www_form(components) end |
#unrubyize_keys(hash) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/netprospex/helpers/formatters.rb', line 22 def unrubyize_keys(hash) new_hash = {} hash.each do |k,v| new_k = case k when Symbol k.to_s.camelize(:lower) else k end new_v = case v when Hash unrubyize_keys(v) when Array v.map {|w| (Hash === w) ? unrubyize_keys(w) : w} else v end new_hash[new_k] = new_v end new_hash end |