class PusherPlatform::QueryParser::Params
Public Class Methods
new(limit)
click to toggle source
# File lib/pusher-platform/rack_query_parser.rb, line 180 def initialize(limit) @limit = limit @size = 0 @params = {} end
Public Instance Methods
[](key)
click to toggle source
# File lib/pusher-platform/rack_query_parser.rb, line 186 def [](key) @params[key] end
[]=(key, value)
click to toggle source
# File lib/pusher-platform/rack_query_parser.rb, line 190 def []=(key, value) @size += key.size if key && !@params.key?(key) raise RangeError, 'exceeded available parameter key space' if @size > @limit @params[key] = value end
key?(key)
click to toggle source
# File lib/pusher-platform/rack_query_parser.rb, line 196 def key?(key) @params.key?(key) end
to_params_hash()
click to toggle source
# File lib/pusher-platform/rack_query_parser.rb, line 200 def to_params_hash hash = @params hash.keys.each do |key| value = hash[key] if value.kind_of?(self.class) if value.object_id == self.object_id hash[key] = hash else hash[key] = value.to_params_hash end elsif value.kind_of?(Array) value.map! {|x| x.kind_of?(self.class) ? x.to_params_hash : x} end end hash end