Permalink
Browse files

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
  • Loading branch information...
1 parent ddce48a commit 6580c6df36ddcef7962732f4fd147af7aa6403db @fxn fxn committed Aug 19, 2010
@@ -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
@@ -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 @@ def default(key = nil)
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)

0 comments on commit 6580c6d

Please sign in to comment.