class Celluloid::SystemEvent
High-priority internal system events
Public Class Methods
handle(type)
click to toggle source
# File lib/celluloid/system_events.rb, line 16 def handle(type) @@system_events[type] end
handler(&block)
click to toggle source
# File lib/celluloid/system_events.rb, line 20 def handler(&block) fail ArgumentError, "SystemEvent handlers must be defined with a block." unless block method = begin handler = name .split("::").last .gsub(/([A-Z]+)([A-Z][a-z])/, "\1_\2") .gsub(/([a-z\d])([A-Z])/, "\1_\2") .tr("-", "_") .downcase :"handle_#{handler}" end Actor.send(:define_method, method, &block) @@system_events[self] = method end