aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support
diff options
context:
space:
mode:
authorNicholas Seckar <nseckar@gmail.com>2006-12-09 05:21:33 +0000
committerNicholas Seckar <nseckar@gmail.com>2006-12-09 05:21:33 +0000
commit6a485c3100090fbf474336802c851b842b8a96f3 (patch)
treeab4121b338acea7e1bb87f3e08d7650f271889cf /activesupport/lib/active_support
parentd1a2449220303f24da0d70504f5959635730da88 (diff)
downloadrails-6a485c3100090fbf474336802c851b842b8a96f3.tar.gz
rails-6a485c3100090fbf474336802c851b842b8a96f3.tar.bz2
rails-6a485c3100090fbf474336802c851b842b8a96f3.zip
Fix remove_constant to correctly handle constant names of the form "::A::...". References #6720.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5710 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activesupport/lib/active_support')
-rw-r--r--activesupport/lib/active_support/dependencies.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/activesupport/lib/active_support/dependencies.rb b/activesupport/lib/active_support/dependencies.rb
index ad4e4da669..b169393bf7 100644
--- a/activesupport/lib/active_support/dependencies.rb
+++ b/activesupport/lib/active_support/dependencies.rb
@@ -405,8 +405,9 @@ protected
def remove_constant(const)
return false unless qualified_const_defined? const
+ const = $1 if /\A::(.*)\Z/ =~ const.to_s
names = const.split('::')
- if names.size == 1 || names.first.empty? # It's under Object
+ if names.size == 1 # It's under Object
parent = Object
else
parent = (names[0..-2] * '::').constantize