Spec-Zone.ru › Ruby on Rails 4.1

модуль AbstractController::Callbacks::ClassMethods

Публичные методы экземпляра

_insert_callbacks(callbacks, block = nil) { |callback, options| ... } Показать исходный код

Принимает имена обратных вызовов и необязательный блок обратного вызова, нормализует их, а затем вызывает блок с каждым обратным вызовом. Это позволяет абстрагировать нормализацию в нескольких методах, которые её используют.

Параметры

  • callbacks - Массив обратных вызовов, с необязательным хешем параметров в качестве последнего параметра.

  • block - Блок кода, который должен быть добавлен к обратным вызовам.

Параметры блока

  • name - Обратный вызов, который нужно добавить

  • options - Хеш опций, которые нужно использовать при добавлении обратного вызова

# File actionpack/lib/abstract_controller/callbacks.rb, line 73
def _insert_callbacks(callbacks, block = nil)
  options = callbacks.extract_options!
  _normalize_callback_options(options)
  callbacks.push(block) if block
  callbacks.each do |callback|
    yield callback, options
  end
end
_normalize_callback_options(options) Показать исходный код

Если используются :only или :except, преобразует опции в опции :unless и :if из ActiveSupport::Callbacks. Основная идея заключается в том, что :only => :index преобразуется в :if => proc {|c| c.action_name == “index” }.

Опции

  • only - Обратный вызов должен выполняться только для этого действия

  • except - Обратный вызов должен выполняться для всех действий, кроме этого действия

# File actionpack/lib/abstract_controller/callbacks.rb, line 33
def _normalize_callback_options(options)
  _normalize_callback_option(options, :only, :if)
  _normalize_callback_option(options, :except, :unless)
end
after_action(names, block) Показать исходный код

Добавляет обратный вызов после действий. См. #_insert_callbacks для подробностей параметров. Также известен как after_filter.

# File actionpack/lib/abstract_controller/callbacks.rb, line 122
      
append_after_action(names, block) Показать исходный код

Добавляет обратный вызов после действий. См. #_insert_callbacks для подробностей параметров. Также известен как append_after_filter.

# File actionpack/lib/abstract_controller/callbacks.rb, line 146
      
append_around_action(names, block) Показать исходный код

Добавляет обратный вызов вокруг действий. См. #_insert_callbacks для подробностей параметров. Также известен как append_around_filter.

# File actionpack/lib/abstract_controller/callbacks.rb, line 178
      
append_before_action(names, block) Показать исходный код

Добавляет обратный вызов перед действиями. См. #_insert_callbacks для подробностей параметров. Также известен как append_before_filter.

# File actionpack/lib/abstract_controller/callbacks.rb, line 114
      
around_action(names, block) Показать исходный код

Добавляет обратный вызов вокруг действий. См. #_insert_callbacks для подробностей параметров. Также известен как around_filter.

# File actionpack/lib/abstract_controller/callbacks.rb, line 154
      
before_action(names, block) Показать исходный код

Добавляет обратный вызов перед действиями. См. #_insert_callbacks для подробностей параметров. Также известен как before_filter.

# File actionpack/lib/abstract_controller/callbacks.rb, line 90
      
prepend_after_action(names, block) Показать исходный код

Добавить обратный вызов после действий. См. #_insert_callbacks для подробностей параметров. Псевдоним: prepend_after_filter.

# File actionpack/lib/abstract_controller/callbacks.rb, line 130
      
prepend_around_action(names, block) Показать исходный код

Добавить обратный вызов вокруг действий. См. #_insert_callbacks для подробностей параметров. Псевдоним: prepend_around_filter.

# File actionpack/lib/abstract_controller/callbacks.rb, line 162
      
prepend_before_action(names, block) Показать исходный код

Добавить обратный вызов перед действиями. См. #_insert_callbacks для подробностей параметров. Псевдоним: prepend_before_filter.

# File actionpack/lib/abstract_controller/callbacks.rb, line 98
      
skip_action_callback(*names) Показать исходный код

Пропустить обратные вызовы действий, соответствующие любому из указанных имён. Псевдоним: skip_filter.

Параметры

  • names - Список допустимых имён, которые могут использоваться для обратных вызовов. Обратите внимание, что пропуск использует равенство Ruby, поэтому невозможно пропустить обратный вызов, определённый с помощью анонимной процедуры, используя skip_filter

# File actionpack/lib/abstract_controller/callbacks.rb, line 53
def skip_action_callback(*names)
  skip_before_action(*names)
  skip_after_action(*names)
  skip_around_action(*names)
end
Также псевдоним: skip_filter
skip_after_action(names) Показать исходный код

Пропустить обратный вызов после действий. См. #_insert_callbacks для подробностей параметров. Псевдоним: skip_after_filter.

# File actionpack/lib/abstract_controller/callbacks.rb, line 138
      
skip_around_action(names) Показать исходный код

Пропустить обратный вызов вокруг действий. См. #_insert_callbacks для подробностей параметров. Псевдоним: skip_around_filter.

# File actionpack/lib/abstract_controller/callbacks.rb, line 170
      
skip_before_action(names) Показать исходный код

Пропустить обратный вызов перед действиями. См. #_insert_callbacks для подробностей параметров. Псевдоним: skip_before_filter.

# File actionpack/lib/abstract_controller/callbacks.rb, line 106
      
skip_filter(*names)
Псевдоним для: skip_action_callback

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

Spec-Zone.ru

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