diff options
author | Yves Senn <yves.senn@gmail.com> | 2013-03-11 20:46:21 +0100 |
---|---|---|
committer | Yves Senn <yves.senn@gmail.com> | 2013-03-15 17:03:22 +0100 |
commit | 9b5c0850778207998a5cb8e5fe5bde6599af81d5 (patch) | |
tree | 745977fc5b6975621b6517ecbe5fe4cc74e47d76 | |
parent | 5558bb0d65b1bd9ad6aa0bd5a074c21d651248b3 (diff) | |
download | rails-9b5c0850778207998a5cb8e5fe5bde6599af81d5.tar.gz rails-9b5c0850778207998a5cb8e5fe5bde6599af81d5.tar.bz2 rails-9b5c0850778207998a5cb8e5fe5bde6599af81d5.zip |
config.ru uses the effective Rack app
We used to pass the Rails::Application subclass to #run.
The Rails server then called #to_app to convert that class to the
actual Rack application.
if you surround `#run` with a call to `#map` the server no longer
convertes the class to the instance and we end up with unnecessary
delegation calls on every request.
-rw-r--r-- | railties/lib/rails/commands/server.rb | 1 | ||||
-rw-r--r-- | railties/lib/rails/generators/rails/app/templates/config.ru | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/railties/lib/rails/commands/server.rb b/railties/lib/rails/commands/server.rb index ddf45d196a..876d457359 100644 --- a/railties/lib/rails/commands/server.rb +++ b/railties/lib/rails/commands/server.rb @@ -42,6 +42,7 @@ module Rails set_environment end + # TODO: this is no longer required but we keep it for the moment to support older config.ru files. def app @app ||= begin app = super diff --git a/railties/lib/rails/generators/rails/app/templates/config.ru b/railties/lib/rails/generators/rails/app/templates/config.ru index fcfbc6b07a..5bc2a619e8 100644 --- a/railties/lib/rails/generators/rails/app/templates/config.ru +++ b/railties/lib/rails/generators/rails/app/templates/config.ru @@ -1,4 +1,4 @@ # This file is used by Rack-based servers to start the application. require ::File.expand_path('../config/environment', __FILE__) -run <%= app_const %> +run Rails.application |