From b30de6039d85d5d8239b9fc500d88f56d52c8d8d Mon Sep 17 00:00:00 2001 From: Rick Olson Date: Sat, 8 Dec 2007 00:19:37 +0000 Subject: [PATCH] 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 --- activesupport/CHANGELOG | 4 ++++ 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