класс Rails::Configuration::MiddlewareStackProxy
MiddlewareStackProxy — это прокси для стека middleware Rails, который позволяет настраивать middleware в вашем приложении. Он работает в основном как регистратор команд, сохраняя каждую команду для применения после инициализации поверх стандартного стека middleware, так что вы можете добавлять, заменять или удалять любой middleware в Rails.
Вы можете добавить собственные middleware, используя метод config.middleware.use:
config.middleware.use Magical::Unicorns
Это поместит Magical::Unicorns middleware в конец стека. Вы можете использовать insert_before, если хотите добавить middleware перед другим:
config.middleware.insert_before Rack::Head, Magical::Unicorns
Также есть insert_after, который вставит middleware после другого:
config.middleware.insert_after Rack::Head, Magical::Unicorns
Middleware также можно полностью заменить другими:
config.middleware.swap ActionDispatch::Flash, Magical::Unicorns
И, наконец, их также можно полностью удалить из стека:
config.middleware.delete ActionDispatch::Flash
Публичные методы класса
# File railties/lib/rails/configuration.rb, line 38 def initialize(operations = [], delete_operations = []) @operations = operations @delete_operations = delete_operations end
Публичные методы экземпляра
# File railties/lib/rails/configuration.rb, line 61 def delete(*args, &block) @delete_operations << [__method__, args, block] end
# File railties/lib/rails/configuration.rb, line 49 def insert_after(*args, &block) @operations << [__method__, args, block] end
# File railties/lib/rails/configuration.rb, line 43 def insert_before(*args, &block) @operations << [__method__, args, block] end
# File railties/lib/rails/configuration.rb, line 53 def swap(*args, &block) @operations << [__method__, args, block] end
# File railties/lib/rails/configuration.rb, line 65 def unshift(*args, &block) @operations << [__method__, args, block] end
# File railties/lib/rails/configuration.rb, line 57 def use(*args, &block) @operations << [__method__, args, block] end
Защищенные методы экземпляра
# File railties/lib/rails/configuration.rb, line 86 def delete_operations @delete_operations end
# File railties/lib/rails/configuration.rb, line 82 def operations @operations end
© 2004–2018 David Heinemeier Hansson
Licensed under the MIT License.