Class: Hash
- Inherits:
-
Object
- Object
- Hash
- Defined in:
- lib/jeanine/core_ext/hash.rb
Instance Method Summary collapse
- #deep_transform_keys(&block) ⇒ Object
- #deep_transform_keys!(&block) ⇒ Object
- #reverse_merge(other_hash) ⇒ Object
- #reverse_merge!(other_hash) ⇒ Object
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 |