Skip to Content Skip to Search
v7.1.0
class ActiveSupport::Callbacks::CallTemplate::MethodCall < Object
Methods
E
I
M
N

Public class methods

new(method)

Permalink
Source code GitHub
# File activesupport/lib/active_support/callbacks.rb, line 380
def initialize(method)
  @method_name = method
end

Public instance methods

expand(target, value, block)

Permalink

Return the parts needed to make this call, with the given input values.

Returns an array of the form:

[target, block, method, *arguments]

This array can be used as such:

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

The actual invocation is left up to the caller to minimize call stack pollution.

Source code GitHub
# File activesupport/lib/active_support/callbacks.rb, line 397
def expand(target, value, block)
  [target, block, @method_name]
end

inverted_lambda()

Permalink
Source code GitHub
# 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()

Permalink
Source code GitHub
# File activesupport/lib/active_support/callbacks.rb, line 401
def make_lambda
  lambda do |target, value, &block|
    target.send(@method_name, &block)
  end
end
Definition files