Class: ActiveSupport::Callbacks::CallTemplate::MethodCall
- Defined in:
- activesupport/lib/active_support/callbacks.rb
Instance Method Summary collapse
-
#expand(target, value, block) ⇒ Object
Return the parts needed to make this call, with the given input values.
-
#initialize(method) ⇒ MethodCall
constructor
A new instance of MethodCall.
- #inverted_lambda ⇒ Object
- #make_lambda ⇒ Object
Constructor Details
#initialize(method) ⇒ MethodCall
Returns a new instance of MethodCall.
378 379 380 |
# File 'activesupport/lib/active_support/callbacks.rb', line 378 def initialize(method) @method_name = method end |
Instance Method Details
#expand(target, value, block) ⇒ Object
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.
395 396 397 |
# File 'activesupport/lib/active_support/callbacks.rb', line 395 def (target, value, block) [target, block, @method_name] end |
#inverted_lambda ⇒ Object
405 406 407 408 409 |
# File 'activesupport/lib/active_support/callbacks.rb', line 405 def inverted_lambda lambda do |target, value, &block| !target.send(@method_name, &block) end end |
#make_lambda ⇒ Object
399 400 401 402 403 |
# File 'activesupport/lib/active_support/callbacks.rb', line 399 def make_lambda lambda do |target, value, &block| target.send(@method_name, &block) end end |