Class: Hash

Inherits:
Object
  • Object
show all
Defined in:
lib/jeanine/core_ext/hash.rb

Instance Method Summary collapse

Instance Method Details

#deep_transform_keys(&block) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/jeanine/core_ext/hash.rb', line 8

def deep_transform_keys(&block)
  result = {}
  each do |key, value|
    result[yield(key)] = value.is_a?(Hash) ? value.deep_transform_keys(&block) : value
  end
  result
end

#deep_transform_keys!(&block) ⇒ Object



16
17
18
19
20
21
22
# File 'lib/jeanine/core_ext/hash.rb', line 16

def deep_transform_keys!(&block)
  keys.each do |key|
    value = delete(key)
    self[yield(key)] = value.is_a?(Hash) ? value.deep_transform_keys!(&block) : value
  end
  self
end

#reverse_merge(other_hash) ⇒ Object



2
3
4
# File 'lib/jeanine/core_ext/hash.rb', line 2

def reverse_merge(other_hash)
  other_hash.merge(self)
end

#reverse_merge!(other_hash) ⇒ Object



5
6
7
# File 'lib/jeanine/core_ext/hash.rb', line 5

def reverse_merge!(other_hash)
  replace(reverse_merge(other_hash))
end