module MethodHooks::InstanceMethods

Private Instance Methods

call_after_callbacks(method_name) click to toggle source
# File lib/method_hooks.rb, line 128
def call_after_callbacks(method_name)
  callbacks = self.class.send(:after_callbacks)[method_name]
  callbacks.each do |callback|
    instance_eval(&callback)
  end
end
call_around_callbacks(method_name, &block) click to toggle source
# File lib/method_hooks.rb, line 111
def call_around_callbacks(method_name, &block)
  callbacks = self.class.send(:around_callbacks)[method_name]
  return_value = nil

  method = -> { return_value = block.call }

  if callbacks.empty?
    method.call
  else
    callbacks.each do |callback|
      instance_exec(method, &callback)
    end
  end

  return_value
end
call_before_callbacks(method_name) click to toggle source
# File lib/method_hooks.rb, line 104
def call_before_callbacks(method_name)
  callbacks = self.class.send(:before_callbacks)[method_name]
  callbacks.each do |callback|
    instance_eval(&callback)
  end
end