class Hash
Public Instance Methods
deep_dup()
click to toggle source
Returns a deep copy of hash.
# File lib/riak/core_ext/deep_dup.rb, line 4 def deep_dup duplicate = self.dup duplicate.each_pair do |k, v| tv = duplicate[k] duplicate[k] = tv.is_a?(Hash) && v.is_a?(Hash) ? tv.deep_dup : v end duplicate end
slice(*keys)
click to toggle source
# File lib/riak/core_ext/slice.rb, line 3 def slice(*keys) allowed = Set.new(respond_to?(:convert_key) ? keys.map { |key| convert_key(key) } : keys) hash = {} allowed.each { |k| hash[k] = self[k] if has_key?(k) } hash end
slice!(*keys)
click to toggle source
# File lib/riak/core_ext/slice.rb, line 10 def slice!(*keys) keys = keys.map! { |key| convert_key(key) } if respond_to?(:convert_key) omit = slice(*self.keys - keys) hash = slice(*keys) replace(hash) omit end
stringify_keys()
click to toggle source
# File lib/riak/core_ext/stringify_keys.rb, line 3 def stringify_keys inject({}) do |hash, pair| hash[pair[0].to_s] = pair[1] hash end end
symbolize_keys()
click to toggle source
# File lib/riak/core_ext/symbolize_keys.rb, line 3 def symbolize_keys inject({}) do |hash, pair| hash[pair[0].to_sym] = pair[1] hash end end
to_param(namespace = nil)
click to toggle source
# File lib/riak/core_ext/to_param.rb, line 25 def to_param(namespace = nil) collect do |key, value| value.to_query(namespace ? "#{namespace}[#{key}]" : key) end.sort * '&' end