Method: Deli::Query.parse_query

Defined in:
lib/deli/query.rb

.parse_query(qs, d = nil) ⇒ Object

from rack



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/deli/query.rb', line 9

def parse_query(qs, d = nil)
  params = {}
  
  (qs || '').split(d ? /[#{d}] */n : /[&;] */n).each do |p|
    k, v = p.split('=', 2).map { |x| unescape(x) }
    if cur = params[k]
      if cur.class == Array
        params[k] << v
      else
        params[k] = [cur, v]
      end
    else
      params[k] = v
    end
  end
  
  return params
end