Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Update require_dependency to return true or false as require does.

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4778 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
  • Loading branch information...
commit 38f598ec0b28919ff0d996bcb9ed923fbd99316f 1 parent 50be89b
@seckar seckar authored
View
10 activesupport/lib/active_support/dependencies.rb
@@ -75,9 +75,9 @@ def require_or_load(file_name, const_path = nil)
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 @@ def require_or_load(file_name, const_path = nil)
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 @@ def load_file(path, const_paths = autoloadable_constants_for_path(path))
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.
View
6 activesupport/test/dependencies_test.rb
@@ -61,11 +61,11 @@ def test_dependency_which_raises_exception_isnt_added_to_loaded_set
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)
Please sign in to comment.
Something went wrong with that request. Please try again.