diff options
author | Aaron Ang <awz.ang@gmail.com> | 2016-03-15 15:13:14 +0100 |
---|---|---|
committer | Aaron Ang <awz.ang@gmail.com> | 2016-03-16 10:51:19 +0100 |
commit | 901a4075125d8fe961b1b0a072e6e73e6c28d48e (patch) | |
tree | e4db3f7b871cd81a84cdacff7b3df33c66f2655e /activesupport/lib | |
parent | 758df587cc478a8ba58d922f768c3971b6a136c6 (diff) | |
download | rails-901a4075125d8fe961b1b0a072e6e73e6c28d48e.tar.gz rails-901a4075125d8fe961b1b0a072e6e73e6c28d48e.tar.bz2 rails-901a4075125d8fe961b1b0a072e6e73e6c28d48e.zip |
Improve code readability in ActiveSupport::Dependencies
Diffstat (limited to 'activesupport/lib')
-rw-r--r-- | activesupport/lib/active_support/dependencies.rb | 11 |
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 |