class Kudzu::Callback

Constants

CALLBACKS

Public Class Methods

new(&block) click to toggle source
# File lib/kudzu/callback.rb, line 19
def initialize(&block)
  @callback = {}
  instance_eval(&block) if block
end

Public Instance Methods

around(name, *args) { || ... } click to toggle source
# File lib/kudzu/callback.rb, line 35
def around(name, *args)
  before_name = "before_#{name}".to_sym
  after_name = "after_#{name}".to_sym
  @callback[before_name].call(*args) if @callback.key?(before_name)
  yield
  @callback[after_name].call(*args) if @callback.key?(after_name)
end
on(name, *args) click to toggle source
# File lib/kudzu/callback.rb, line 30
def on(name, *args)
  on_name = "on_#{name}".to_sym
  @callback[on_name].call(*args) if @callback.key?(on_name)
end