From ee014ef95ae9746b4228f3bc7c85ac0df28ba1df Mon Sep 17 00:00:00 2001
From: David Heinemeier Hansson <david@loudthinking.com>
Date: Sun, 16 Jan 2005 17:50:36 +0000
Subject: New adventures in dependency reloading

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@429 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
---
 activesupport/lib/dependencies.rb | 16 ++++------------
 1 file changed, 4 insertions(+), 12 deletions(-)

(limited to 'activesupport')

diff --git a/activesupport/lib/dependencies.rb b/activesupport/lib/dependencies.rb
index 1452b63a77..9ef1c251bc 100644
--- a/activesupport/lib/dependencies.rb
+++ b/activesupport/lib/dependencies.rb
@@ -13,6 +13,8 @@ module Dependencies
     if !loaded.include?(file_name)
       loaded << file_name
 
+      STDERR << "Loaded: #{file_name}\n"
+
       begin
         require_or_load(file_name)
       rescue LoadError
@@ -26,19 +28,9 @@ module Dependencies
   end
 
   def reload
-    old_loaded = loaded
+    reloading = loaded.dup
     clear
-    
-    old_loaded.each do |file_name| 
-      next if loaded.include?(file_name)
-
-      begin
-        silence_warnings { load("#{file_name}.rb") }
-        loaded << file_name
-      rescue LoadError
-        # The association didn't reside in its own file, so we assume it was required by other means
-      end
-    end
+    reloading.each { |file_name| depend_on(file_name, true) }
   end
   
   def clear
-- 
cgit v1.2.3