Merge pull request #34360 from weilandia/34359_hash_with_indifferent_access_to_options

Make ActiveSupport HashWithIndifferentAccess#to_options and alias for HashWithIndifferentAccess#symbolize_keys
This commit is contained in:
Rafael França 2018-11-01 13:21:09 -04:00 committed by GitHub
commit d80925b169
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 0 deletions

@ -1,3 +1,8 @@
* Fix bug where `#to_options` for `ActiveSupport::HashWithIndifferentAccess`
would not act as alias for `#symbolize_keys`.
*Nick Weiland*
* Improve the logic that detects non-autoloaded constants.
*Jan Habermann*, *Xavier Noria*

@ -289,6 +289,7 @@ def deep_stringify_keys; dup end
undef :symbolize_keys!
undef :deep_symbolize_keys!
def symbolize_keys; to_hash.symbolize_keys! end
alias_method :to_options, :symbolize_keys
def deep_symbolize_keys; to_hash.deep_symbolize_keys! end
def to_options!; self end

@ -57,6 +57,13 @@ def test_symbolize_keys_for_hash_with_indifferent_access
assert_equal @symbols, @mixed.with_indifferent_access.symbolize_keys
end
def test_to_options_for_hash_with_indifferent_access
assert_instance_of Hash, @symbols.with_indifferent_access.to_options
assert_equal @symbols, @symbols.with_indifferent_access.to_options
assert_equal @symbols, @strings.with_indifferent_access.to_options
assert_equal @symbols, @mixed.with_indifferent_access.to_options
end
def test_deep_symbolize_keys_for_hash_with_indifferent_access
assert_instance_of Hash, @nested_symbols.with_indifferent_access.deep_symbolize_keys
assert_equal @nested_symbols, @nested_symbols.with_indifferent_access.deep_symbolize_keys