diff options
author | wycats <wycats@gmail.com> | 2010-03-07 06:24:30 -0800 |
---|---|---|
committer | wycats <wycats@gmail.com> | 2010-03-07 06:24:30 -0800 |
commit | 39d6f9e112f2320d8c2006ee3bcc160cfa761d0a (patch) | |
tree | 5c3e4434a5d76ceb7b8fd088d62809ef9a50f025 /railties/lib/rails/engine.rb | |
parent | a424f199a9143e7ea451ba6f5e7dc54eb6103988 (diff) | |
download | rails-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.rb | 4 |
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| |