Class: ActionController::MiddlewareStack
Relationships & Source Files | |
Namespace Children | |
Classes:
| |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
|
|
Instance Chain:
|
|
Inherits: |
ActionDispatch::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
Constant Summary
-
EXCLUDE =
# File 'actionpack/lib/action_controller/metal.rb', line 41->(list, action) { !list.include? action }
-
INCLUDE =
# File 'actionpack/lib/action_controller/metal.rb', line 40->(list, action) { list.include? action }
-
NULL =
# File 'actionpack/lib/action_controller/metal.rb', line 42->(list, action) { true }
Class Method Summary
::ActionDispatch::MiddlewareStack
- Inherited
Instance Attribute Summary
::ActionDispatch::MiddlewareStack
- Inherited
::Enumerable
- Included
#many? | Returns |
Instance Method Summary
::ActionDispatch::MiddlewareStack
- Inherited
#[], #build, | |
#delete | Deletes a middleware from the middleware stack. |
#delete! | Deletes a middleware from the middleware stack. |
#each, #initialize_copy, #insert, #insert_after, | |
#insert_before | Alias for ActionDispatch::MiddlewareStack#insert. |
#last, #move, #move_after, | |
#move_before | Alias for ActionDispatch::MiddlewareStack#move. |
#size, #swap, #unshift, #use, #assert_index, #build_middleware, #index_of |
::Enumerable
- Included
#compact_blank | Returns a new |
#exclude? | The negative of the |
#excluding | Returns a copy of the enumerable excluding the specified elements. |
#in_order_of | Returns a new |
#including | Returns a new array that includes the passed elements. |
#index_by | Convert an enumerable to a hash, using the block result as the key and the element as the value. |
#index_with | Convert an enumerable to a hash, using the element as the key and the block result as the value. |
#maximum | Calculates the maximum from the extracted elements. |
#minimum | Calculates the minimum from the extracted elements. |
#pick | Extract the given key from the first element in the enumerable. |
#pluck | Extract the given key from each element in the enumerable. |
#sole | Returns the sole item in the enumerable. |
#without | Alias for Enumerable#excluding. |
#as_json |
::ActiveSupport::EnumerableCoreExt::Constants
- Included
Constructor Details
This class inherits a constructor from ActionDispatch::MiddlewareStack
Instance Method Details
#build(action, app = nil, &block)
[ GitHub ]# File 'actionpack/lib/action_controller/metal.rb', line 31
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
#build_middleware(klass, args, block) (private)
[ GitHub ]# File 'actionpack/lib/action_controller/metal.rb', line 44
def build_middleware(klass, args, block) = args. only = Array( .delete(:only)).map(&:to_s) except = Array( .delete(:except)).map(&:to_s) args << unless .empty? strategy = NULL list = nil if only.any? strategy = INCLUDE list = only elsif except.any? strategy = EXCLUDE list = except end Middleware.new(klass, args, list, strategy, block) end