aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2011-12-13 09:25:12 +0100
committerJosé Valim <jose.valim@gmail.com>2011-12-13 09:29:18 +0100
commit693d2be82706d7dc40af6860a26330c49c27f151 (patch)
tree0f8d5b7c4f7eeb447c86aa41460c3cdc16720b9f
parentcd3033eb627f408b71a7adf98c350e2c01115c33 (diff)
downloadrails-693d2be82706d7dc40af6860a26330c49c27f151.tar.gz
rails-693d2be82706d7dc40af6860a26330c49c27f151.tar.bz2
rails-693d2be82706d7dc40af6860a26330c49c27f151.zip
Move hooks back to initializers (we need an API that allows hooks to be replaced).
-rw-r--r--railties/lib/rails/application.rb32
-rw-r--r--railties/lib/rails/application/finisher.rb25
2 files changed, 21 insertions, 36 deletions
diff --git a/railties/lib/rails/application.rb b/railties/lib/rails/application.rb
index 35fae24297..75f2b9a3bd 100644
--- a/railties/lib/rails/application.rb
+++ b/railties/lib/rails/application.rb
@@ -112,38 +112,6 @@ module Rails
@routes_reloader ||= RoutesReloader.new
end
- # A routes reloader hook that is used to setup to_prepare callbacks.
- # A plugin may override this if they desire to provide a more
- # exquisite route reloading.
- # :api: plugin
- def set_routes_reloader_hook
- reloader = routes_reloader
- hook = lambda { reloader.execute_if_updated }
- hook.call
- self.reloaders << reloader
- ActionDispatch::Reloader.to_prepare(&hook)
- end
-
- # An app dependencies hook that is used to setup to_cleanup callbacks.
- # A plugin may override this if they desire to provide a more exquisite app reloading.
- # :api: plugin
- def set_dependencies_hook
- callback = lambda do
- ActiveSupport::DescendantsTracker.clear
- ActiveSupport::Dependencies.clear
- end
-
- if config.reload_classes_only_on_change
- reloader = config.file_watcher.new(watchable_args, true, &callback)
- self.reloaders << reloader
- # We need to set a to_prepare callback regardless of the reloader result, i.e.
- # models should be reloaded if any of the reloaders (i18n, routes) were updated.
- ActionDispatch::Reloader.to_prepare(:prepend => true, &callback)
- else
- ActionDispatch::Reloader.to_cleanup(&callback)
- end
- end
-
# Returns an array of file paths appended with a hash of directories-extensions
# suitable for ActiveSupport::FileUpdateChecker API.
def watchable_args
diff --git a/railties/lib/rails/application/finisher.rb b/railties/lib/rails/application/finisher.rb
index 3a94311b57..738fb93994 100644
--- a/railties/lib/rails/application/finisher.rb
+++ b/railties/lib/rails/application/finisher.rb
@@ -62,14 +62,31 @@ module Rails
# Set app reload just after the finisher hook to ensure
# routes added in the hook are still loaded.
- initializer :set_routes_reloader_hook do |app|
- app.set_routes_reloader_hook
+ initializer :set_routes_reloader_hook do
+ reloader = routes_reloader
+ hook = lambda { reloader.execute_if_updated }
+ hook.call
+ self.reloaders << reloader
+ ActionDispatch::Reloader.to_prepare(&hook)
end
# Set app reload just after the finisher hook to ensure
# paths added in the hook are still loaded.
- initializer :set_dependencies_hook, :group => :all do |app|
- app.set_dependencies_hook
+ initializer :set_dependencies_hook, :group => :all do
+ callback = lambda do
+ ActiveSupport::DescendantsTracker.clear
+ ActiveSupport::Dependencies.clear
+ end
+
+ if config.reload_classes_only_on_change
+ reloader = config.file_watcher.new(watchable_args, true, &callback)
+ self.reloaders << reloader
+ # We need to set a to_prepare callback regardless of the reloader result, i.e.
+ # models should be reloaded if any of the reloaders (i18n, routes) were updated.
+ ActionDispatch::Reloader.to_prepare(:prepend => true, &callback)
+ else
+ ActionDispatch::Reloader.to_cleanup(&callback)
+ end
end
# Disable dependency loading during request cycle