class Neighborparrot::Reactor
Reactor class
¶ ↑
Public Class Methods
new()
click to toggle source
Start the reactor in a new thead and prepare
# File lib/neighborparrot/reactor.rb, line 32 def initialize reactor_start define_event_helpers end
Public Instance Methods
define_event_helpers()
click to toggle source
generate events helpers for instances This define tho methods: on_event(&block): Setup a block for the event trigger_event(*args): Trigger the event
# File lib/neighborparrot/reactor.rb, line 41 def define_event_helpers @event_block = {} EVENTS.each do |event| clazz = class << self; self; end clazz.send :define_method, "on_#{event}" do |&block| @event_block[event] = block end clazz.send :define_method, "trigger_#{event}" do |*args| @event_block[event].call *args if @event_block[event] end end end