diff options
author | John Firebaugh <john_firebaugh@us.ibm.com> | 2010-12-20 14:55:21 -0800 |
---|---|---|
committer | John Firebaugh <john_firebaugh@us.ibm.com> | 2010-12-21 19:26:33 -0800 |
commit | d4afde9ab025854b35634af51fe2ef4edf1f8549 (patch) | |
tree | 37eb79603dcbe7d09a090e74800fb694a8fc79dc | |
parent | 3c1a0a8b62cafe50a9098fa1f925db25c6c63767 (diff) | |
download | rails-d4afde9ab025854b35634af51fe2ef4edf1f8549.tar.gz rails-d4afde9ab025854b35634af51fe2ef4edf1f8549.tar.bz2 rails-d4afde9ab025854b35634af51fe2ef4edf1f8549.zip |
Expand ActionDispatch::Reloader docs
-rw-r--r-- | actionpack/lib/action_dispatch/middleware/reloader.rb | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/actionpack/lib/action_dispatch/middleware/reloader.rb b/actionpack/lib/action_dispatch/middleware/reloader.rb index 579b5d8a02..efa0bc7129 100644 --- a/actionpack/lib/action_dispatch/middleware/reloader.rb +++ b/actionpack/lib/action_dispatch/middleware/reloader.rb @@ -1,7 +1,10 @@ module ActionDispatch - # ActionDispatch::Reloader provides to_prepare and to_cleanup callbacks. - # These are analogs of ActionDispatch::Callback's before and after - # callbacks, with the difference that to_cleanup is not called until the + # ActionDispatch::Reloader provides prepare and cleanup callbacks, + # intended to assist with code reloading during development. + # + # Prepare callbacks are run before each request, and cleanup callbacks + # after each request. In this respect they are analogs of ActionDispatch::Callback's + # before and after callbacks. However, cleanup callbacks are not called until the # request is fully complete -- that is, after #close has been called on # the request body. This is important for streaming responses such as the # following: @@ -15,7 +18,10 @@ module ActionDispatch # classes before they are unloaded. # # By default, ActionDispatch::Reloader is included in the middleware stack - # only in the development environment. + # only in the development environment; specifically, when config.cache_classes + # is false. Callbacks may be registered even when it is not included in the + # middleware stack, but are executed only when +ActionDispatch::Reloader.prepare!+ + # or +ActionDispatch::Reloader.cleanup!+ are called manually. # class Reloader include ActiveSupport::Callbacks @@ -23,8 +29,8 @@ module ActionDispatch define_callbacks :prepare, :scope => :name define_callbacks :cleanup, :scope => :name - # Add a preparation callback. Preparation callbacks are run before each - # request. + # Add a prepare callback. Prepare callbacks are run before each request, prior + # to ActionDispatch::Callback's before callbacks. def self.to_prepare(*args, &block) set_callback(:prepare, *args, &block) end @@ -35,10 +41,12 @@ module ActionDispatch set_callback(:cleanup, *args, &block) end + # Execute all prepare callbacks. def self.prepare! new(nil).send(:_run_prepare_callbacks) end + # Execute all cleanup callbacks. def self.cleanup! new(nil).send(:_run_cleanup_callbacks) end |