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
This commit is contained in:
parent
50be89b609
commit
38f598ec0b
@ -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.
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user