Method: Protocol::HTTP::URL.decode
- Defined in:
- lib/protocol/http/url.rb
.decode(string, maximum = 8, symbolize_keys: false) ⇒ Object
TODO use native C extension from Trenni::Reference.
104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
# File 'lib/protocol/http/url.rb', line 104 def self.decode(string, maximum = 8, symbolize_keys: false) parameters = {} self.scan(string) do |name, value| keys = self.split(name) if keys.size > maximum raise ArgumentError, "Key length exceeded limit!" end if symbolize_keys keys.collect!{|key| key.empty? ? nil : key.to_sym} end self.assign(keys, value, parameters) end return parameters end |