Class: ActionController::MiddlewareStack
- Inherits:
-
ActionDispatch::MiddlewareStack
- Object
- ActionDispatch::MiddlewareStack
- ActionController::MiddlewareStack
- Defined in:
- actionpack/lib/action_controller/metal.rb
Overview
Extend ActionDispatch middleware stack to make it aware of options allowing the following syntax in controllers:
class PostsController < ApplicationController
use AuthenticationMiddleware, except: [:index, :show]
end
Defined Under Namespace
Classes: Middleware
Instance Attribute Summary
Attributes inherited from ActionDispatch::MiddlewareStack
Instance Method Summary collapse
Methods inherited from ActionDispatch::MiddlewareStack
#[], #delete, #each, #initialize, #initialize_copy, #insert, #insert_after, #last, #size, #swap, #unshift, #use
Methods included from Enumerable
#as_json, #compact_blank, #exclude?, #excluding, #including, #index_by, #index_with, #many?, #pluck, #sum, #without
Constructor Details
This class inherits a constructor from ActionDispatch::MiddlewareStack
Instance Method Details
#build(action, app = nil, &block) ⇒ Object
29 30 31 32 33 34 35 |
# File 'actionpack/lib/action_controller/metal.rb', line 29 def build(action, app = nil, &block) action = action.to_s middlewares.reverse.inject(app || block) do |a, middleware| middleware.valid?(action) ? middleware.build(a) : a end end |