class ActionController::MiddlewareStack
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 reverse.inject(app) do |a, middleware| middleware.valid?(action) ? middleware.build(a) : a end end