aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--activesupport/lib/active_support/dependencies.rb10
1 files changed, 6 insertions, 4 deletions
diff --git a/activesupport/lib/active_support/dependencies.rb b/activesupport/lib/active_support/dependencies.rb
index da1050298b..a3a7df7464 100644
--- a/activesupport/lib/active_support/dependencies.rb
+++ b/activesupport/lib/active_support/dependencies.rb
@@ -76,17 +76,19 @@ module ActiveSupport #:nodoc:
locked :concat, :each, :delete_if, :<<
def new_constants_for(frames)
- frames.map do |mod_name, prior_constants|
+ constants = []
+ frames.each do |mod_name, prior_constants|
mod = Inflector.constantize(mod_name) if Dependencies.qualified_const_defined?(mod_name)
next unless mod.is_a?(Module)
new_constants = mod.local_constant_names - prior_constants
get(mod_name).concat(new_constants)
- new_constants.map do |suffix|
- ([mod_name, suffix] - ["Object"]).join("::")
+ new_constants.each do |suffix|
+ constants << ([mod_name, suffix] - ["Object"]).join("::")
end
- end.flatten
+ end
+ constants
end
# Add a set of modules to the watch stack, remembering the initial constants