module Dinamo::Model::Callback

Public Instance Methods

invoke_callbacks(type, kind, *args) click to toggle source
# File lib/dinamo/model/callback.rb, line 13
def invoke_callbacks(type, kind, *args)
  ref = respond_to?(:callbacks) ? callbacks : self.class.callbacks
  current = ref[type][kind]
  return unless current
  current.each { |callback| instance_exec(*args, &callback) }
end
with_callback(kind, *args, &block) click to toggle source
# File lib/dinamo/model/callback.rb, line 6
def with_callback(kind, *args, &block)
  invoke_callbacks(:before, kind, *args)
  block.call
ensure
  invoke_callbacks(:after, kind, *args)
end