Checkin forgotten add. Update const_missing handler to avoid double loading files.

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4729 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
Nicholas Seckar
2006-08-08 21:44:34 +00:00
parent 74165eb6ac
commit 4635d33996
2 changed files with 10 additions and 1 deletions

View File

@@ -155,7 +155,7 @@ module Dependencies #:nodoc:
name_error = NameError.new("uninitialized constant #{qualified_name}")
file_path = search_for_autoload_file(path_suffix)
if file_path # We found a matching file to load
if file_path #&& ! loaded.include?(file_path) # We found a matching file to load
require_or_load file_path, qualified_name
raise LoadError, "Expected #{file_path} to define #{qualified_name}" unless from_mod.const_defined?(const_name)
return from_mod.const_get(const_name)

View File

@@ -300,4 +300,13 @@ class DependenciesTest < Test::Unit::TestCase
end
end
def test_const_missing_should_not_double_load
with_loading 'autoloading_fixtures' do
require_dependency 'counting_loader'
assert_equal 1, $counting_loaded_times
ModuleFolder
assert_equal 1, $counting_loaded_times
end
end
end