Method: ActiveData::Model::Associations::Base#callback

Defined in:
lib/active_data/model/associations/base.rb

#callback(name, object) ⇒ Object



47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/active_data/model/associations/base.rb', line 47

def callback(name, object)
  evaluator = reflection.options[name]
  return true unless evaluator

  if evaluator.is_a?(Proc)
    if evaluator.arity == 1
      owner.instance_exec(object, &evaluator)
    else
      evaluator.call(owner, object)
    end
  else
    owner.send(evaluator, object)
  end
end