Class: Hash
- Inherits:
-
Object
- Object
- Hash
- Defined in:
- lib/hash_enhancements.rb,
lib/hash_enhancements.rb
Instance Method Summary collapse
Instance Method Details
#deep_merge(other_hash) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/hash_enhancements.rb', line 5 def deep_merge(other_hash) result = dup other_hash.each do |key, value| existing_value = result[key] result[key] = if existing_value.is_a?(Hash) existing_value.deep_merge(value) else value end end result end |
#deep_symbolize_keys ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/hash_enhancements.rb', line 22 def deep_symbolize_keys result = {} each_pair do |k, v| result[k.to_sym] = case v when Hash v.deep_symbolize_keys when Array v.collect { |item| item.is_a?(Hash) ? item.deep_symbolize_keys : item } else v end end result end |