Class: Rails::Configuration::MiddlewareStackProxy
| Relationships & Source Files | |
| Inherits: | Object | 
| Defined in: | railties/lib/rails/configuration.rb | 
Overview
MiddlewareStackProxy is a proxy for the ::Rails middleware stack that allows you to configure middlewares in your application. It works basically as a command recorder, saving each command to be applied after initialization over the default middleware stack, so you can add, swap, or remove any middleware in ::Rails.
You can add your own middlewares by using the config.middleware.use method:
config.middleware.use Magical::UnicornsThis will put the Magical::Unicorns middleware on the end of the stack. You can use #insert_before if you wish to add a middleware before another:
config.middleware.insert_before Rack::Head, Magical::UnicornsThere's also #insert_after which will insert a middleware after another:
config.middleware.insert_after Rack::Head, Magical::UnicornsMiddlewares can also be completely swapped out and replaced with others:
config.middleware.swap ActionDispatch::Flash, Magical::UnicornsAnd finally they can also be removed from the stack completely:
config.middleware.delete ActionDispatch::FlashClass Method Summary
- .new ⇒ MiddlewareStackProxy constructor
Instance Method Summary
Constructor Details
    .new  ⇒ MiddlewareStackProxy 
  
# File 'railties/lib/rails/configuration.rb', line 36
def initialize @operations = [] end
Instance Method Details
#delete(*args, &block)
[ GitHub ]# File 'railties/lib/rails/configuration.rb', line 58
def delete(*args, &block) @operations << [__method__, args, block] end
#insert(*args, &block)
Alias for #insert_before.
# File 'railties/lib/rails/configuration.rb', line 44
alias :insert :insert_before
#insert_after(*args, &block)
[ GitHub ]# File 'railties/lib/rails/configuration.rb', line 46
def insert_after(*args, &block) @operations << [__method__, args, block] end
#insert_before(*args, &block) Also known as: #insert
[ GitHub ]# File 'railties/lib/rails/configuration.rb', line 40
def insert_before(*args, &block) @operations << [__method__, args, block] end
#swap(*args, &block)
[ GitHub ]# File 'railties/lib/rails/configuration.rb', line 50
def swap(*args, &block) @operations << [__method__, args, block] end
#unshift(*args, &block)
[ GitHub ]# File 'railties/lib/rails/configuration.rb', line 62
def unshift(*args, &block) @operations << [__method__, args, block] end
#use(*args, &block)
[ GitHub ]# File 'railties/lib/rails/configuration.rb', line 54
def use(*args, &block) @operations << [__method__, args, block] end