Module: Rack::Utils

Defined in:
lib/social/network/graph/ok/base.rb

Overview

:nodoc:

Class Method Summary collapse

Class Method Details

.universal_build(value, prefix = nil) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/social/network/graph/ok/base.rb', line 4

def universal_build(value, prefix = nil)
  case value.class.to_s
  when Array.to_s
    value.map do |v|
      unless unescape(prefix) =~ /\[\]$/
        prefix = "#{prefix}[]"
      end
      universal_build(v, "#{prefix}")
    end.join("&")
  when Hash.to_s
    value.map do |k, v|
      universal_build(v, prefix ? "#{prefix}[#{escape(k)}]" : escape(k))
    end.join("&")
  when NilClass.to_s
    prefix.to_s
  else
    "#{prefix}=#{escape(value.to_s)}"
  end
end