Sha256: 11199cbf85533567bed0f2b2fdd2fc90c7f225c2083a82d7fb5172360eb5fcc5
Contents?: true
Size: 818 Bytes
Versions: 4
Compression:
Stored size: 818 Bytes
Contents
class Hash # Deletes the key(s) passed in from the hash. def -(ars) [ars].flatten.each {|a| self.delete(a)} self end # Converts a hash to query string parameters. # An optional boolean escapes the values if true, which is the default. def to_params(escape = true) params = '' stack = [] each do |k, v| if v.is_a?(Hash) stack << [k,v] else v = Rack::Utils.escape(v) if escape params << "#{k}=#{v}&" end end stack.each do |parent, hash| hash.each do |k, v| if v.is_a?(Hash) stack << ["#{parent}[#{k}]", v] else v = Rack::Utils.escape(v) if escape params << "#{parent}[#{k}]=#{v}&" end end end params.chop! # trailing & params end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
mack-0.2.0 | lib/core_extensions/hash.rb |
mack-0.1.0 | lib/core_extensions/hash.rb |
mack-0.2.0.1 | lib/core_extensions/hash.rb |
mack-0.3.0 | lib/core_extensions/hash.rb |