Method: Spider::HTTP.normalize_params
- Defined in:
- lib/spiderfw/http/http.rb
.normalize_params(parms, name, val = nil) ⇒ Object
Converts a query string snippet to a hash and adds it to existing parameters.
Parameters
- parms<Hash>
-
Parameters to add the normalized parameters to.
- name<String>
-
The key of the parameter to normalize.
- val<String>
-
The value of the parameter.
Returns
- Hash
-
Normalized parameters
– from Merb
214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 |
# File 'lib/spiderfw/http/http.rb', line 214 def self.normalize_params(parms, name, val=nil) name =~ %r([\[\]]*([^\[\]]+)\]*) key = $1 || '' after = $' || '' if after == "" parms[key] = val elsif after == "[]" (parms[key] ||= []) << val elsif after =~ %r(^\[\]) parms[key] ||= [] parms[key] << normalize_params({}, after, val) else parms[key] ||= {} parms[key] = normalize_params(parms[key], after, val) end parms end |