Class: ActionController::MiddlewareStack::Proxy
Do not use. This class is for internal use only.
| Relationships & Source Files | |
| Inherits: | Object |
| Defined in: | actionpack/lib/action_controller/metal.rb |
Class Method Summary
- .new(controller) ⇒ Proxy constructor
Instance Attribute Summary
- #middlewares=(middlewares) writeonly
Instance Method Summary
Constructor Details
.new(controller) ⇒ Proxy
# File 'actionpack/lib/action_controller/metal.rb', line 20
def initialize(controller) @controller = controller end
Instance Attribute Details
#middlewares=(middlewares) (writeonly)
[ GitHub ]# File 'actionpack/lib/action_controller/metal.rb', line 68
def middlewares=(middlewares) update_middleware_stack { |stack| stack.middlewares = middlewares } end
Instance Method Details
#delete
[ GitHub ]# File 'actionpack/lib/action_controller/metal.rb', line 44
def delete(...) update_middleware_stack { |stack| stack.delete(...) } end
#delete!
[ GitHub ]# File 'actionpack/lib/action_controller/metal.rb', line 48
def delete!(...) update_middleware_stack { |stack| stack.delete!(...) } end
#insert
[ GitHub ]# File 'actionpack/lib/action_controller/metal.rb', line 28
def insert(...) update_middleware_stack { |stack| stack.insert(...) } end
#insert_after
[ GitHub ]# File 'actionpack/lib/action_controller/metal.rb', line 36
def insert_after(...) update_middleware_stack { |stack| stack.insert_after(...) } end
#insert_before
[ GitHub ]# File 'actionpack/lib/action_controller/metal.rb', line 32
def insert_before(...) update_middleware_stack { |stack| stack.insert_before(...) } end
#middleware_stack (private)
[ GitHub ]# File 'actionpack/lib/action_controller/metal.rb', line 73
def middleware_stack @controller.middleware_stack end
#move
[ GitHub ]# File 'actionpack/lib/action_controller/metal.rb', line 52
def move(...) update_middleware_stack { |stack| stack.move(...) } end
#move_after
[ GitHub ]# File 'actionpack/lib/action_controller/metal.rb', line 60
def move_after(...) update_middleware_stack { |stack| stack.move_after(...) } end
#move_before
[ GitHub ]# File 'actionpack/lib/action_controller/metal.rb', line 56
def move_before(...) update_middleware_stack { |stack| stack.move_before(...) } end
#swap
[ GitHub ]# File 'actionpack/lib/action_controller/metal.rb', line 40
def swap(...) update_middleware_stack { |stack| stack.swap(...) } end
#unshift
[ GitHub ]# File 'actionpack/lib/action_controller/metal.rb', line 24
def unshift(...) update_middleware_stack { |stack| stack.unshift(...) } end
#update_middleware_stack (private)
[ GitHub ]# File 'actionpack/lib/action_controller/metal.rb', line 77
def update_middleware_stack stack = middleware_stack.dup result = yield stack @controller.middleware_stack = ActiveSupport::Ractors.try_make_shareable(stack) result end
#use
[ GitHub ]# File 'actionpack/lib/action_controller/metal.rb', line 64
def use(...) update_middleware_stack { |stack| stack.use(...) } end