Spec-Zone.ru › Ruby on Rails 7.1

класс ActiveSupport::Callbacks::CallTemplate::MethodCall

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

Публичные методы класса

new(method) Показать исходный код
# File activesupport/lib/active_support/callbacks.rb, line 380
def initialize(method)
  @method_name = method
end

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

expand(target, value, block) Показать исходный код
# File activesupport/lib/active_support/callbacks.rb, line 397
def expand(target, value, block)
  [target, block, @method_name]
end

Возвращает части, необходимые для выполнения этого вызова, с заданными входными значениями.

Возвращает массив следующего вида:

[target, block, method, *arguments]

Этот массив может быть использован следующим образом:

target.send(method, *arguments, &block)

Фактическое выполнение вызова остается на усмотрение вызывающей стороны, чтобы минимизировать загрязнение стека вызовов.

inverted_lambda() Показать исходный код
# File activesupport/lib/active_support/callbacks.rb, line 407
def inverted_lambda
  lambda do |target, value, &block|
    !target.send(@method_name, &block)
  end
end
make_lambda() Показать исходный код
# File activesupport/lib/active_support/callbacks.rb, line 401
def make_lambda
  lambda do |target, value, &block|
    target.send(@method_name, &block)
  end
end

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

Spec-Zone.ru

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