Class: Hash
- Inherits:
-
Object
- Object
- Hash
- Defined in:
- lib/veritrans/core_extensions.rb
Overview
This is replacement for Hash#deep_merge in acive_support when acive_support not loaded
Instance Method Summary collapse
Instance Method Details
#deep_merge(second) ⇒ Object
7 8 9 10 11 12 13 14 15 16 |
# File 'lib/veritrans/core_extensions.rb', line 7 def deep_merge(second) merger = proc { |key, v1, v2| if Hash === v1 && Hash === v2 v1.merge(v2, &merger) else [:undefined, nil, :nil].include?(v2) ? v1 : v2 end } self.merge(second, &merger) end |
#except(*keys) ⇒ Object
27 28 29 |
# File 'lib/veritrans/core_extensions.rb', line 27 def except(*keys) dup.except!(*keys) end |
#except!(*keys) ⇒ Object
20 21 22 23 |
# File 'lib/veritrans/core_extensions.rb', line 20 def except!(*keys) keys.each { |key| delete(key) } self end |