From 547e6d1c3d4964337a32ee70cf2d275342cfa997 Mon Sep 17 00:00:00 2001 From: Pratik Naik Date: Mon, 12 Jan 2009 21:03:01 +0000 Subject: Move rake middleware to the top --- railties/doc/guides/html/rails_on_rack.html | 53 ++++++++++++++-------------- railties/doc/guides/source/rails_on_rack.txt | 46 ++++++++++++------------ 2 files changed, 48 insertions(+), 51 deletions(-) (limited to 'railties/doc/guides') diff --git a/railties/doc/guides/html/rails_on_rack.html b/railties/doc/guides/html/rails_on_rack.html index a78d1697b0..e32a7357f5 100644 --- a/railties/doc/guides/html/rails_on_rack.html +++ b/railties/doc/guides/html/rails_on_rack.html @@ -217,14 +217,14 @@ ul#navMain { Action Controller Middleware Stack
  • @@ -413,7 +413,28 @@ http://www.gnu.org/software/src-highlite -->
    What is ActionController::MiddlewareStack ?
    ActionController::MiddlewareStack is Rails equivalent of Rack::Builder, but built for better flexibility and more features to meet Rails' requirements. -

    3.1. Adding Middlewares

    +

    3.1. Inspecting Middleware Stack

    +

    Rails has a handy rake task for inspecting the middleware stack in use:

    +
    +
    +
    $ rake middleware
    +

    For a freshly generated Rails application, this will produce:

    +
    +
    +
    use ActionController::Lock
    +use ActionController::Failsafe
    +use ActiveRecord::QueryCache
    +use ActionController::Session::CookieStore, {:secret=>"<secret>", :session_key=>"_<app>_session"}
    +use Rails::Rack::Metal
    +use ActionController::VerbPiggybacking
    +run ActionController::Dispatcher.new
    +

    3.2. Adding Middlewares

    Rails provides a very simple configuration interface for adding generic Rack middlewares to a Rails applications.

    Here’s how you can add middlewares via environment.rb

    @@ -424,7 +445,7 @@ http://www.gnu.org/software/src-highlite -->
    # environment.rb
     
     config.middleware.use Rack::BounceFavicon
    -

    3.2. Internal Middleware Stack

    +

    3.3. Internal Middleware Stack

    -
    $ rake middleware
    -

    For a freshly generated Rails application, this will produce:

    -
    -
    -
    use ActionController::Lock
    -use ActionController::Failsafe
    -use ActiveRecord::QueryCache
    -use ActionController::Session::CookieStore, {:secret=>"aa5150a22c1a5f24112260c33ae2131a88d7539117bfdcd5696fb2be385b60c6da9f7d4ed0a67e3b8cc85cc4e653ba0111dd1f3f8999520f049e2262068c16a6", :session_key=>"_edge_session"}
    -use Rails::Rack::Metal
    -use ActionController::VerbPiggybacking
    -run ActionController::Dispatcher.new
    -

    This rake task is very useful if the application requires highly customized Rack middleware setup.

    4. Rails Metal Applications

    diff --git a/railties/doc/guides/source/rails_on_rack.txt b/railties/doc/guides/source/rails_on_rack.txt index a06d399cc5..6526117c8f 100644 --- a/railties/doc/guides/source/rails_on_rack.txt +++ b/railties/doc/guides/source/rails_on_rack.txt @@ -93,6 +93,28 @@ Many of Action Controller's internal components are implemented as Rack middlewa .What is ActionController::MiddlewareStack ? NOTE: +ActionController::MiddlewareStack+ is Rails equivalent of +Rack::Builder+, but built for better flexibility and more features to meet Rails' requirements. +=== Inspecting Middleware Stack === + +Rails has a handy rake task for inspecting the middleware stack in use: + +[source, shell] +---------------------------------------------------------------------------- +$ rake middleware +---------------------------------------------------------------------------- + +For a freshly generated Rails application, this will produce: + +[source, ruby] +---------------------------------------------------------------------------- +use ActionController::Lock +use ActionController::Failsafe +use ActiveRecord::QueryCache +use ActionController::Session::CookieStore, {:secret=>"", :session_key=>"__session"} +use Rails::Rack::Metal +use ActionController::VerbPiggybacking +run ActionController::Dispatcher.new +---------------------------------------------------------------------------- + === Adding Middlewares === Rails provides a very simple configuration interface for adding generic Rack middlewares to a Rails applications. @@ -171,30 +193,6 @@ config.middleware.swap AC::Sessions, My::Sessoins or something like that **** -=== Inspecting Middleware Stack === - -Rails has a handy rake task for inspecting the middleware stack in use: - -[source, shell] ----------------------------------------------------------------------------- -$ rake middleware ----------------------------------------------------------------------------- - -For a freshly generated Rails application, this will produce: - -[source, ruby] ----------------------------------------------------------------------------- -use ActionController::Lock -use ActionController::Failsafe -use ActiveRecord::QueryCache -use ActionController::Session::CookieStore, {:secret=>"aa5150a22c1a5f24112260c33ae2131a88d7539117bfdcd5696fb2be385b60c6da9f7d4ed0a67e3b8cc85cc4e653ba0111dd1f3f8999520f049e2262068c16a6", :session_key=>"_edge_session"} -use Rails::Rack::Metal -use ActionController::VerbPiggybacking -run ActionController::Dispatcher.new ----------------------------------------------------------------------------- - -This rake task is very useful if the application requires highly customized Rack middleware setup. - == Rails Metal Applications == Rails Metal applications are minimal Rack applications specially designed for integrating with a typical Rails application. As Rails Metal Applications skip all of the Action Controller stack, serving a request has no overhead from the Rails framework itself. This is especially useful for infrequent cases where the performance of the full stack Rails framework is an issue. -- cgit v1.2.3