Module: ActionArgs::ActiveSupport::CallbackParameterizer
- Defined in:
- lib/action_args/callbacks.rb
Instance Method Summary collapse
-
#make_lambda ⇒ Object
Extending AS::Callbacks::Callback’s ‘make_lambda` not just to call specified method but to call the method with method parameters taken from `params`.
Instance Method Details
#make_lambda ⇒ Object
Extending AS::Callbacks::Callback’s ‘make_lambda` not just to call specified method but to call the method with method parameters taken from `params`. This would happen only when
-
the target object is_a ActionController object
-
the filter was not defined via lambda
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/action_args/callbacks.rb', line 35 def make_lambda lambda do |target, value, &block| target, block, method, *arguments = (target, value, block) if (ActionController::Base === target) && (method != :instance_exec) && arguments.empty? target.strengthen_params! method arguments, keyword_arguments = target.extract_method_arguments_from_params method if keyword_arguments.any? target.send(method, *arguments, **keyword_arguments, &block) else target.send(method, *arguments, &block) end else target.send(method, *arguments, &block) end end end |