class ActionController::MiddlewareStack

:nodoc:
end
use AuthenticationMiddleware, :except => [:index, :show]
class PostsController < ApplicationController
allowing the following syntax in controllers:
Extend ActionDispatch middleware stack to make it aware of options

def build(action, app=nil, &block)

def build(action, app=nil, &block)
  app  ||= block
  action = action.to_s
  raise "MiddlewareStack#build requires an app" unless app
  middlewares.reverse.inject(app) do |a, middleware|
    middleware.valid?(action) ?
      middleware.build(a) : a
  end
end