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