diff options
author | Michael Herold <michael.j.herold@gmail.com> | 2014-07-21 23:26:28 -0500 |
---|---|---|
committer | Michael Herold <michael.j.herold@gmail.com> | 2014-07-23 22:14:08 -0500 |
commit | 1971100ca1b185b07d40a2331ed477bd157e5c53 (patch) | |
tree | 8746d873eafd8f8bf0703a66ab6f0d7d072c4cd4 /lib/hashie/extensions/indifferent_access.rb | |
parent | 3bc7a49ea24b5a97b974cc5f0386573360276533 (diff) | |
download | hashie-1971100ca1b185b07d40a2331ed477bd157e5c53.tar.gz |
Remove dups and use inject! to inject in place
This will keep the same objects that are set in a hash with
IndifferentAccess, extending the objects with the methods in-place.
This, of course, has consequences, but if we want to keep the same
objects after the injection this has to be done.
Fixes #178, #180
Diffstat (limited to 'lib/hashie/extensions/indifferent_access.rb')
-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 3c9bb84..4b58ace 100644 --- a/lib/hashie/extensions/indifferent_access.rb +++ b/lib/hashie/extensions/indifferent_access.rb @@ -83,9 +83,9 @@ module Hashie def convert_value(value) if hash_lacking_indifference?(value) - IndifferentAccess.inject(value.dup) + IndifferentAccess.inject!(value) elsif value.is_a?(::Array) - value.dup.replace(value.map { |e| convert_value(e) }) + value.replace(value.map { |e| convert_value(e) }) else value end |