class Hash
Public Instance Methods
reverse_merge!(other_hash)
click to toggle source
# File lib/rhc/core_ext.rb, line 193 def reverse_merge!(other_hash) # right wins if there is no left merge!( other_hash ){|key,left,right| left } end
slice(*args)
click to toggle source
# File lib/rhc/core_ext.rb, line 187 def slice(*args) args.inject({}) do |h, k| h[k] = self[k] if has_key?(k) h end end
slice!(*args)
click to toggle source
# File lib/rhc/core_ext.rb, line 180 def slice!(*args) s = [] args.inject([]) do |a, k| s << [k, delete(k)] if has_key?(k) end s end
stringify_keys!()
click to toggle source
# File lib/rhc/core_ext.rb, line 174 def stringify_keys! transform_keys!(:to_s) end
symbolize_keys!()
click to toggle source
# File lib/rhc/core_ext.rb, line 177 def symbolize_keys! transform_keys!(:to_sym) end
Protected Instance Methods
transform_keys!(operation)
click to toggle source
# File lib/rhc/core_ext.rb, line 198 def transform_keys!(operation) keys.each do |key| v = delete(key) if v.is_a? Hash v.transform_keys!(operation) elsif v.is_a? Array v.each{ |value| value.transform_keys!(operation) if value.is_a? Hash } end self[(key.send(operation) rescue key) || key] = v end self end