123456789_123456789_123456789_123456789_123456789_

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

Instance Attribute Summary

Instance Method Summary

Constructor Details

.new(controller) ⇒ Proxy

[ GitHub ]

  
# 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