Method: Summon::Query#to_hash

Defined in:
lib/summon/schema/query.rb

#to_hashObject



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
# File 'lib/summon/schema/query.rb', line 41

def to_hash    
  # {}.tap do |params|
  #   for param in query_string.split("&") do
  #     name, value = param.split("=")
  #     next if value.nil?
  #     name = CGI.une
  #   end
  # end
  
  return {} if query_string.nil? || query_string == ""
  params = query_string.split("&").inject({}) do |params, param|
    name, value = param.split("=")
    next params if value.nil?
    name = CGI.unescape(name)
    value = CGI.unescape(value)
    params.tap do
      case params[name]
        when nil
          params[name] = value
        when String
          params[name] = [params[name], value]
        else
          params[name] << value
      end
    end
  end
end