Spec-Zone.ru › Ruby on Rails 6.1

класс Rails::Configuration::MiddlewareStackProxy

Родитель:
Объект

MiddlewareStackProxy является прокси для стека посредников Rails, позволяющего настраивать посредников в вашем приложении. Он работает по принципу записи команд, сохраняя каждую команду для применения после инициализации над стандартным стеком посредников, так что вы можете добавлять, заменять или удалять любых посредников в Rails.

Вы можете добавить собственных посредников, используя метод config.middleware.use:

config.middleware.use Magical::Unicorns

Это поместит посредника Magical::Unicorns в конец стека. Вы можете использовать insert_before для добавления посредника перед другим:

config.middleware.insert_before Rack::Head, Magical::Unicorns

Также есть insert_after, который вставит посредника после другого:

config.middleware.insert_after Rack::Head, Magical::Unicorns

Посредники также могут быть полностью заменены другими:

config.middleware.swap ActionDispatch::Flash, Magical::Unicorns

Посредники могут быть перемещены из одного места в другое:

config.middleware.move_before ActionDispatch::Flash, Magical::Unicorns

Это переместит посредника Magical::Unicorns перед посредником ActionDispatch::Flash. Вы также можете переместить его после:

config.middleware.move_after ActionDispatch::Flash, Magical::Unicorns

И, наконец, они также могут быть полностью удалены из стека:

config.middleware.delete ActionDispatch::Flash

Атрибуты

delete_operations[R]
operations[R]

Общедоступные методы класса

new(operations = [], delete_operations = []) Показать исходный код
# File railties/lib/rails/configuration.rb, line 47
def initialize(operations = [], delete_operations = [])
  @operations = operations
  @delete_operations = delete_operations
end

Общедоступные методы экземпляра

delete(*args, &block) Показать исходный код
# File railties/lib/rails/configuration.rb, line 74
def delete(*args, &block)
  @delete_operations << -> middleware { middleware.delete(*args, &block) }
end
insert(*args, &block)
Псевдоним для: insert_before
insert_after(*args, &block) Показать исходный код
# File railties/lib/rails/configuration.rb, line 59
def insert_after(*args, &block)
  @operations << -> middleware { middleware.insert_after(*args, &block) }
end
insert_before(*args, &block) Показать исходный код
# File railties/lib/rails/configuration.rb, line 52
def insert_before(*args, &block)
  @operations << -> middleware { middleware.insert_before(*args, &block) }
end
Также псевдоним для: insert
move(*args, &block)
Псевдоним для: move_before
move_after(*args, &block) Показать исходный код
# File railties/lib/rails/configuration.rb, line 84
def move_after(*args, &block)
  @delete_operations << -> middleware { middleware.move_after(*args, &block) }
end
move_before(*args, &block) Показать исходный код
# File railties/lib/rails/configuration.rb, line 78
def move_before(*args, &block)
  @delete_operations << -> middleware { middleware.move_before(*args, &block) }
end
Также псевдоним для: move
swap(*args, &block) Показать исходный код
# File railties/lib/rails/configuration.rb, line 64
def swap(*args, &block)
  @operations << -> middleware { middleware.swap(*args, &block) }
end
unshift(*args, &block) Показать исходный код
# File railties/lib/rails/configuration.rb, line 88
def unshift(*args, &block)
  @operations << -> middleware { middleware.unshift(*args, &block) }
end
use(*args, &block) Показать исходный код
# File railties/lib/rails/configuration.rb, line 69
def use(*args, &block)
  @operations << -> middleware { middleware.use(*args, &block) }
end

© 2004–2020 David Heinemeier Hansson
Licensed under the MIT License.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API