module A4Tools::EventGenerator

Public Instance Methods

on(key, &callback) click to toggle source
# File lib/acres_client.rb, line 11
def on(key, &callback)
  @callbacks ||= {}
  @callbacks[key] ||= []
  @callbacks[key].push callback
end
passthrough(target) click to toggle source
# File lib/acres_client.rb, line 25
def passthrough(target)
  target.on(:all) { |trigger, value| signal(trigger, value) }
end
signal(key, value=nil) click to toggle source
# File lib/acres_client.rb, line 17
def signal(key, value=nil)
  return if @callbacks.nil?
  [ key, :all ].each do |k|
    next unless @callbacks.has_key? k
    @callbacks[k].each { |callback| callback.call(key, value) }
  end
end