aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/engine.rb
diff options
context:
space:
mode:
authorwycats <wycats@gmail.com>2010-03-07 06:24:30 -0800
committerwycats <wycats@gmail.com>2010-03-07 06:24:30 -0800
commit39d6f9e112f2320d8c2006ee3bcc160cfa761d0a (patch)
tree5c3e4434a5d76ceb7b8fd088d62809ef9a50f025 /railties/lib/rails/engine.rb
parenta424f199a9143e7ea451ba6f5e7dc54eb6103988 (diff)
downloadrails-39d6f9e112f2320d8c2006ee3bcc160cfa761d0a.tar.gz
rails-39d6f9e112f2320d8c2006ee3bcc160cfa761d0a.tar.bz2
rails-39d6f9e112f2320d8c2006ee3bcc160cfa761d0a.zip
Make many parts of Rails lazy. In order to facilitate this,
add lazy_load_hooks.rb, which allows us to declare code that should be run at some later time. For instance, this allows us to defer requiring ActiveRecord::Base at boot time purely to apply configuration. Instead, we register a hook that should apply configuration once ActiveRecord::Base is loaded. With these changes, brings down total boot time of a new app to 300ms in production and 400ms in dev. TODO: rename base_hook
Diffstat (limited to 'railties/lib/rails/engine.rb')
-rw-r--r--railties/lib/rails/engine.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/railties/lib/rails/engine.rb b/railties/lib/rails/engine.rb
index 8f5040ea13..85b4ff8470 100644
--- a/railties/lib/rails/engine.rb
+++ b/railties/lib/rails/engine.rb
@@ -97,8 +97,8 @@ module Rails
initializer :add_view_paths do
views = paths.app.views.to_a
- ActionController::Base.prepend_view_path(views) if defined?(ActionController::Base)
- ActionMailer::Base.prepend_view_path(views) if defined?(ActionMailer::Base)
+ ActionController.base_hook { prepend_view_path(views) } if defined?(ActionController)
+ ActionMailer.base_hook { prepend_view_path(views) } if defined?(ActionMailer)
end
initializer :add_metals do |app|