aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/dependencies.rb
diff options
context:
space:
mode:
authorAaron Ang <awz.ang@gmail.com>2016-03-15 15:13:14 +0100
committerAaron Ang <awz.ang@gmail.com>2016-03-16 10:51:19 +0100
commit901a4075125d8fe961b1b0a072e6e73e6c28d48e (patch)
treee4db3f7b871cd81a84cdacff7b3df33c66f2655e /activesupport/lib/active_support/dependencies.rb
parent758df587cc478a8ba58d922f768c3971b6a136c6 (diff)
downloadrails-901a4075125d8fe961b1b0a072e6e73e6c28d48e.tar.gz
rails-901a4075125d8fe961b1b0a072e6e73e6c28d48e.tar.bz2
rails-901a4075125d8fe961b1b0a072e6e73e6c28d48e.zip
Improve code readability in ActiveSupport::Dependencies
Diffstat (limited to 'activesupport/lib/active_support/dependencies.rb')
-rw-r--r--activesupport/lib/active_support/dependencies.rb11
1 files changed, 6 insertions, 5 deletions
diff --git a/activesupport/lib/active_support/dependencies.rb b/activesupport/lib/active_support/dependencies.rb
index ee62c0739e..57f6286de3 100644
--- a/activesupport/lib/active_support/dependencies.rb
+++ b/activesupport/lib/active_support/dependencies.rb
@@ -656,16 +656,17 @@ module ActiveSupport #:nodoc:
# and will be removed immediately.
def new_constants_in(*descs)
constant_watch_stack.watch_namespaces(descs)
- aborting = true
+ success = false
begin
yield # Now yield to the code that is to define new constants.
- aborting = false
+ success = true
ensure
new_constants = constant_watch_stack.new_constants
- return new_constants unless aborting
+ return new_constants if success
+ # Remove partially loaded constants.
new_constants.each { |c| remove_constant(c) }
end
end
@@ -734,7 +735,7 @@ module ActiveSupport #:nodoc:
begin
constantized = parent.const_get(to_remove, false)
rescue NameError
- # Skip when const is unreachable.
+ # The constant is no longer reachable, just skip it.
return
else
constantized.before_remove_const if constantized.respond_to?(:before_remove_const)
@@ -744,7 +745,7 @@ module ActiveSupport #:nodoc:
begin
parent.instance_eval { remove_const to_remove }
rescue NameError
- # Skip when const is unreachable.
+ # The constant is no longer reachable, just skip it.
end
end
end