aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/test/time_travel_test.rb
diff options
context:
space:
mode:
authorclaudiob <claudiob@gmail.com>2014-09-23 11:18:11 -0700
committerclaudiob <claudiob@gmail.com>2014-10-17 09:11:04 -0700
commitd43b1b0a9eb5bc46818224d0939223ea31a41b00 (patch)
treee4f2e0dd680bc261f9e898843e714ab9e6fd6e1e /activesupport/test/time_travel_test.rb
parent8a80e3b6c446931330ad07130603712e8d0a2ff3 (diff)
downloadrails-d43b1b0a9eb5bc46818224d0939223ea31a41b00.tar.gz
rails-d43b1b0a9eb5bc46818224d0939223ea31a41b00.tar.bz2
rails-d43b1b0a9eb5bc46818224d0939223ea31a41b00.zip
Add necessary 'require reverse_merge' to HAWI.rb
Hashes with indifferent access should support `reverse_merge` out-of-the-box but they don't; for instance the following code fails: ```ruby require 'active_support' require 'active_support/hash_with_indifferent_access' hash = HashWithIndifferentAccess.new key: :old_value hash.reverse_merge key: :new_value ``` This PR fixes the case above by simply requiring `active_support/core_ext/hash/reverse_merge` in `hash_with_indifferent_access.rb` and adding a test that confirms the fix. --- Here are more details about the bugfix. Currently, `reverse_merge` is [defined in HashWithIndifferentAccess](https://github.com/rails/rails/blob/4e8ea13ba1a0870905a46fac5f232d9f41eef8a4/activesupport/lib/active_support/hash_with_indifferent_access.rb#L208) by invoking `super`, that is by invoking `Hash#reverse_merge`: ```ruby def reverse_merge(other_hash) super(self.class.new_from_hash_copying_default(other_hash)) end ``` However, Ruby's `Hash` does not have the `reverse_merge` by default: it must be added by ActiveSupport, and that requires the following line of code to be present: ```ruby require 'active_support/core_ext/hash/reverse_merge' ```
Diffstat (limited to 'activesupport/test/time_travel_test.rb')
0 files changed, 0 insertions, 0 deletions