diff options
Diffstat (limited to 'activesupport')
-rw-r--r-- | activesupport/lib/active_support/dependencies.rb | 10 | ||||
-rw-r--r-- | activesupport/test/dependencies_test.rb | 6 |
2 files changed, 9 insertions, 7 deletions
diff --git a/activesupport/lib/active_support/dependencies.rb b/activesupport/lib/active_support/dependencies.rb index b8a8a9b630..c0ee5ddfa8 100644 --- a/activesupport/lib/active_support/dependencies.rb +++ b/activesupport/lib/active_support/dependencies.rb @@ -75,9 +75,9 @@ module Dependencies #:nodoc: load_args << const_path unless const_path.nil? if !warnings_on_first_load or history.include?(expanded) - load_file(*load_args) + result = load_file(*load_args) else - enable_warnings { load_file(*load_args) } + enable_warnings { result = load_file(*load_args) } end rescue loaded.delete expanded @@ -85,11 +85,12 @@ module Dependencies #:nodoc: end else log "requiring #{file_name}" - require file_name + result = require file_name end # Record history *after* loading so first load gets warnings. history << expanded + return result end # Is the provided constant path defined? @@ -157,12 +158,13 @@ module Dependencies #:nodoc: const_paths = [const_paths].compact unless const_paths.is_a? Array undefined_before = const_paths.reject(&method(:qualified_const_defined?)) - load path + result = load path newly_defined_paths = const_paths.select(&method(:qualified_const_defined?)) autoloaded_constants.concat newly_defined_paths autoloaded_constants.uniq! log "loading #{path} defined #{newly_defined_paths * ', '}" unless newly_defined_paths.empty? + return result end # Return the constant path for the provided parent and constant name. diff --git a/activesupport/test/dependencies_test.rb b/activesupport/test/dependencies_test.rb index 3d0ada47f1..f4b173101b 100644 --- a/activesupport/test/dependencies_test.rb +++ b/activesupport/test/dependencies_test.rb @@ -61,11 +61,11 @@ class DependenciesTest < Test::Unit::TestCase end def test_warnings_should_be_enabled_on_first_load - with_loading do + with_loading 'dependencies' do old_warnings, Dependencies.warnings_on_first_load = Dependencies.warnings_on_first_load, true - filename = "#{File.dirname(__FILE__)}/dependencies/check_warnings" - expanded = File.expand_path(filename) + filename = "check_warnings" + expanded = File.expand_path("test/dependencies/#{filename}") $check_warnings_load_count = 0 assert !Dependencies.loaded.include?(expanded) |