module Tiger::ClassMethod

Attributes

triggers[RW]

Public Class Methods

new() click to toggle source
# File lib/tiger/class_method.rb, line 5
def initialize
  @triggers = {}
end

Public Instance Methods

emit(name, *args) click to toggle source
# File lib/tiger/class_method.rb, line 13
def emit(name, *args)
  trigger(name).each do |code|
    self.instance_exec(*args, &code)
  end
end
on(name, &code) click to toggle source
# File lib/tiger/class_method.rb, line 9
def on(name, &code)
  trigger(name).push(code)
end

Private Instance Methods

trigger(name) click to toggle source
# File lib/tiger/class_method.rb, line 20
def trigger(name)
  @triggers       ||= {}
  @triggers[name] ||= []
  @triggers[name]
end