# File lib/rhc/core_ext.rb, line 195 def reverse_merge!(other_hash) # right wins if there is no left merge!( other_hash ){|key,left,right| left } end
# File lib/rhc/core_ext.rb, line 189 def slice(*args) args.inject({}) do |h, k| h[k] = self[k] if has_key?(k) h end end
# File lib/rhc/core_ext.rb, line 182 def slice!(*args) s = [] args.inject([]) do |a, k| s << [k, delete(k)] if has_key?(k) end s end
# File lib/rhc/core_ext.rb, line 176 def stringify_keys! transform_keys!(:to_s) end
# File lib/rhc/core_ext.rb, line 179 def symbolize_keys! transform_keys!(:to_sym) end
# File lib/rhc/core_ext.rb, line 200 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