diff options
author | Nicholas Seckar <nseckar@gmail.com> | 2006-02-02 16:56:15 +0000 |
---|---|---|
committer | Nicholas Seckar <nseckar@gmail.com> | 2006-02-02 16:56:15 +0000 |
commit | 6d7b0374d12de2ddeaa9c3f896234111ed6bf8e2 (patch) | |
tree | 7681d9fb082901cfb1ee50a8bda3b6855b500675 | |
parent | 1129e5b915fe007257447c61ca77843fb06b4c56 (diff) | |
download | rails-6d7b0374d12de2ddeaa9c3f896234111ed6bf8e2.tar.gz rails-6d7b0374d12de2ddeaa9c3f896234111ed6bf8e2.tar.bz2 rails-6d7b0374d12de2ddeaa9c3f896234111ed6bf8e2.zip |
Add LoadingModule.clear! back temporarily
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@3524 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
-rw-r--r-- | activesupport/lib/active_support/dependencies.rb | 8 | ||||
-rw-r--r-- | railties/lib/dispatcher.rb | 1 |
2 files changed, 9 insertions, 0 deletions
diff --git a/activesupport/lib/active_support/dependencies.rb b/activesupport/lib/active_support/dependencies.rb index 7f73f9bf40..0bedbf093c 100644 --- a/activesupport/lib/active_support/dependencies.rb +++ b/activesupport/lib/active_support/dependencies.rb @@ -142,6 +142,14 @@ module Dependencies #:nodoc: def const_available?(name) self.const_defined?(name) || load_paths.any? {|lp| lp.filesystem_path(path + [name])} end + + # Erase all items in this module + def clear! + constants.each do |name| + Object.send(:remove_const, name) if Object.const_defined?(name) && Object.const_get(name).object_id == self.const_get(name).object_id + self.send(:remove_const, name) + end + end end class RootLoadingModule < LoadingModule #:nodoc: diff --git a/railties/lib/dispatcher.rb b/railties/lib/dispatcher.rb index 0d7ca34ea4..6bc61889d1 100644 --- a/railties/lib/dispatcher.rb +++ b/railties/lib/dispatcher.rb @@ -50,6 +50,7 @@ class Dispatcher # mailers, and so forth. This allows them to be loaded again without having # to restart the server (WEBrick, FastCGI, etc.). def reset_application! + Controllers.clear! Dependencies.clear ActiveRecord::Base.reset_subclasses Class.remove_class(*Reloadable.reloadable_classes) |