aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--activesupport/CHANGELOG2
-rw-r--r--activesupport/lib/active_support/core_ext/object/extending.rb1
2 files changed, 2 insertions, 1 deletions
diff --git a/activesupport/CHANGELOG b/activesupport/CHANGELOG
index 9852e4a5fb..dbe6aa91c2 100644
--- a/activesupport/CHANGELOG
+++ b/activesupport/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*
+* Remove a hack intended to avoid unloading the same class twice, but which would not work anyways. [Nicholas Seckar]
+
* Update Object.subclasses_of to locate nested classes. This affects Object.remove_subclasses_of in that nested classes will now be unloaded. [Nicholas Seckar]
* Update Object.remove_subclasses_of to use Class.remove_class, reducing duplication. [Nicholas Seckar]
diff --git a/activesupport/lib/active_support/core_ext/object/extending.rb b/activesupport/lib/active_support/core_ext/object/extending.rb
index 16f62d85b7..e15b4bf385 100644
--- a/activesupport/lib/active_support/core_ext/object/extending.rb
+++ b/activesupport/lib/active_support/core_ext/object/extending.rb
@@ -9,7 +9,6 @@ class Object #:nodoc:
next if # Exclude this class if
(k.ancestors & superclasses).empty? || # It's not a subclass of our supers
superclasses.include?(k) || # It *is* one of the supers
- subclasses.include?(k) || # We already have it for some obscure reason
eval("! defined?(::#{k})") || # It's not defined.
eval("::#{k}").object_id != k.object_id
subclasses << k