diff options
| author | Yogesh Khater <yogeshjain999@gmail.com> | 2020-06-06 21:38:58 +0530 |
|---|---|---|
| committer | Yogesh Khater <yogeshjain999@gmail.com> | 2020-06-10 11:24:06 +0530 |
| commit | b206fb8a79b626d8c4f6edf15caf0eda37e6845c (patch) | |
| tree | a3b83bea83258f0c406fd6354fea0b06f73c6c7a /lib | |
| parent | c066135a4bd6c75cd19fe342f768d2213df9e684 (diff) | |
| download | hashie-b206fb8a79b626d8c4f6edf15caf0eda37e6845c.tar.gz | |
Small amendments for Hash#merge with IndifferentAccess
1. Use `indifferent_writer` in `convert!` so that when
`indifferent_writer`, `convert_key` or `indifferent_value` is
overridden in included class, `merge` can use those.
2. `convert!` was calling twice if `other` hash was lacking
indifference. `IndifferentAccess.inject!` already does conversion.
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/hashie/extensions/indifferent_access.rb | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/hashie/extensions/indifferent_access.rb b/lib/hashie/extensions/indifferent_access.rb index e3d2d63..f8176f5 100644 --- a/lib/hashie/extensions/indifferent_access.rb +++ b/lib/hashie/extensions/indifferent_access.rb @@ -74,7 +74,7 @@ module Hashie # is injecting itself into member hashes. def convert! keys.each do |k| # rubocop:disable Performance/HashEachMethods - regular_writer convert_key(k), indifferent_value(regular_delete(k)) + indifferent_writer k, regular_delete(k) end self end @@ -133,7 +133,7 @@ module Hashie def merge(*args) result = super - IndifferentAccess.inject!(result) if hash_lacking_indifference?(result) + return IndifferentAccess.inject!(result) if hash_lacking_indifference?(result) result.convert! end |
