diff options
author | Xavier Noria <fxn@hashref.com> | 2010-08-19 02:46:42 +0200 |
---|---|---|
committer | Xavier Noria <fxn@hashref.com> | 2010-08-19 02:46:42 +0200 |
commit | eab4860e9b8b81522df481e1e046d142af0455ee (patch) | |
tree | 4070de160f7f69a467a2b8c66e6dca851fe3f81b /activesupport/lib/active_support | |
parent | c510f059673edf9477c90c3c9c083caa6689101d (diff) | |
download | rails-eab4860e9b8b81522df481e1e046d142af0455ee.tar.gz rails-eab4860e9b8b81522df481e1e046d142af0455ee.tar.bz2 rails-eab4860e9b8b81522df481e1e046d142af0455ee.zip |
avoids a ton o warnings activesupport/lib/active_support/dependencies.rb:239: warning: loading in progress, circular require considered harmful ... activesupport/lib/active_support/core_ext/hash/indifferent_access.rb while running the suite in Ruby 1.9.2
Diffstat (limited to 'activesupport/lib/active_support')
-rw-r--r-- | activesupport/lib/active_support/core_ext/hash/indifferent_access.rb | 4 | ||||
-rw-r--r-- | activesupport/lib/active_support/hash_with_indifferent_access.rb | 7 |
2 files changed, 7 insertions, 4 deletions
diff --git a/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb b/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb index 0420e206af..aad4b61e16 100644 --- a/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb +++ b/activesupport/lib/active_support/core_ext/hash/indifferent_access.rb @@ -7,8 +7,6 @@ class Hash # {:a => 1}.with_indifferent_access["a"] # => 1 # def with_indifferent_access - hash = ActiveSupport::HashWithIndifferentAccess.new(self) - hash.default = self.default - hash + ActiveSupport::HashWithIndifferentAccess.new_from_hash_copying_default(self) end end diff --git a/activesupport/lib/active_support/hash_with_indifferent_access.rb b/activesupport/lib/active_support/hash_with_indifferent_access.rb index eec5d4cf47..aa21a2702b 100644 --- a/activesupport/lib/active_support/hash_with_indifferent_access.rb +++ b/activesupport/lib/active_support/hash_with_indifferent_access.rb @@ -1,4 +1,3 @@ -require 'active_support/core_ext/hash/indifferent_access' require 'active_support/core_ext/hash/keys' # This class has dubious semantics and we only have it so that @@ -28,6 +27,12 @@ module ActiveSupport end end + def self.new_from_hash_copying_default(hash) + ActiveSupport::HashWithIndifferentAccess.new(hash).tap do |new_hash| + new_hash.default = hash.default + end + end + alias_method :regular_writer, :[]= unless method_defined?(:regular_writer) alias_method :regular_update, :update unless method_defined?(:regular_update) |