From 0942bfa7a96e981bf146dee1ad32fa81e68ee6e6 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sun, 23 Jan 2005 19:42:40 +0000 Subject: Brought back reloading of models git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@478 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- activesupport/lib/dependencies.rb | 6 ++++++ railties/lib/dispatcher.rb | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/activesupport/lib/dependencies.rb b/activesupport/lib/dependencies.rb index c47faad38d..4f4dfa4a71 100644 --- a/activesupport/lib/dependencies.rb +++ b/activesupport/lib/dependencies.rb @@ -29,6 +29,12 @@ module Dependencies self.loaded = [ ] end + def reload + old_loaded = loaded.dup + clear + old_loaded.each { |file_name| depend_on(file_name, true) } + end + private def require_or_load(file_name) mechanism == :load ? silence_warnings { load("#{file_name}.rb") } : require(file_name) diff --git a/railties/lib/dispatcher.rb b/railties/lib/dispatcher.rb index fe7142be9d..cb0b3f1b25 100644 --- a/railties/lib/dispatcher.rb +++ b/railties/lib/dispatcher.rb @@ -51,7 +51,7 @@ class Dispatcher begin remove_class_hierarchy(controller_class(controller_name), ActionController::Base) ActiveRecord::Base.reset_column_information_and_inheritable_attributes_for_all_subclasses - Dependencies.clear + Dependencies.reload rescue Object => exception # Compilation errors are caught on the first run through end -- cgit v1.2.3