Module: Hooks::ClassMethods

Defined in:
lib/datamappify/repository/query_method/callbacks.rb

Instance Method Summary collapse

Instance Method Details

#run_hook_for(name, scope, *args) ⇒ Boolean

Added the ability to ignore callbacks if the previous callback returns nil or false

Returns:

  • (Boolean)


9
10
11
12
13
14
15
16
17
18
19
# File 'lib/datamappify/repository/query_method/callbacks.rb', line 9

def run_hook_for(name, scope, *args)
  callbacks = callbacks_for_hook(name)

  callbacks.take_while do |callback|
    if callback.kind_of? Symbol
      scope.send(callback, *args)
    else
      scope.instance_exec(*args, &callback)
    end
  end.length == callbacks.length
end