diff options
author | Rick Olson <technoweenie@gmail.com> | 2007-12-08 00:19:37 +0000 |
---|---|---|
committer | Rick Olson <technoweenie@gmail.com> | 2007-12-08 00:19:37 +0000 |
commit | b30de6039d85d5d8239b9fc500d88f56d52c8d8d (patch) | |
tree | f29d1761765c2a4bd6e70a94b6fe7d169640003a | |
parent | 4dcd4069f577e2105ea25929be1350fcefb9f71d (diff) | |
download | rails-b30de6039d85d5d8239b9fc500d88f56d52c8d8d.tar.gz rails-b30de6039d85d5d8239b9fc500d88f56d52c8d8d.tar.bz2 rails-b30de6039d85d5d8239b9fc500d88f56d52c8d8d.zip |
Refactor of Hash#symbolize_keys! to use Hash#replace. Closes #10420 [ReinH]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@8333 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
-rw-r--r-- | activesupport/CHANGELOG | 4 | ||||
-rw-r--r-- | activesupport/lib/active_support/core_ext/hash/keys.rb | 8 |
2 files changed, 5 insertions, 7 deletions
diff --git a/activesupport/CHANGELOG b/activesupport/CHANGELOG index 67da6f2379..0f9316c097 100644 --- a/activesupport/CHANGELOG +++ b/activesupport/CHANGELOG @@ -1,3 +1,7 @@ +*SVN* + +* Refactor of Hash#symbolize_keys! to use Hash#replace. Closes #10420 [ReinH] + * Fix HashWithIndifferentAccess#to_options! so it doesn't clear the options hash. Closes #10419 [ReinH] *2.0.1* (December 7th, 2007) diff --git a/activesupport/lib/active_support/core_ext/hash/keys.rb b/activesupport/lib/active_support/core_ext/hash/keys.rb index 4d32a6b8a5..2bd4138be4 100644 --- a/activesupport/lib/active_support/core_ext/hash/keys.rb +++ b/activesupport/lib/active_support/core_ext/hash/keys.rb @@ -31,13 +31,7 @@ module ActiveSupport #:nodoc: # Destructively convert all keys to symbols. def symbolize_keys! - keys.each do |key| - unless key.is_a?(Symbol) || (new_key = key.to_sym).nil? - self[new_key] = self[key] - delete(key) - end - end - self + self.replace(self.symbolize_keys) end alias_method :to_options, :symbolize_keys |