Method: Chione::System.on
- Defined in:
- lib/chione/system.rb
.on(event_name, &block) ⇒ Object
Declare a block that is called once whenever an event matching event_name is broadcast to the World.
82 83 84 85 86 87 88 89 90 91 92 |
# File 'lib/chione/system.rb', line 82 def self::on( event_name, &block ) raise LocalJumpError, "no block given" unless block raise ArgumentError, "callback has wrong arity" unless block.arity >= 2 || block.arity < 0 method_name = "on_%s_event" % [ event_name.tr('/', '_') ] self.log.debug "Making handler method #%s for %s events out of %p" % [ method_name, event_name, block ] define_method( method_name, &block ) self.event_handlers << [ event_name, method_name ] end |