module TrRMIte::EventHandling::DSL::ClassMethods
Public Instance Methods
handle(*event_types, &handler)
click to toggle source
# File lib/TrRMIte/event_handling.rb, line 13 def handle(*event_types, &handler) raise ArgumentError, "missing event handler" unless handler @event_handlers ||= begin handlers = {} def handlers.for(event) self[TrRMIte.inflect(event.type, :to_sym)] end handlers end event_types.each do |event_type| @event_handlers[event_type] = handler end end
handler_for(event)
click to toggle source
# File lib/TrRMIte/event_handling.rb, line 28 def handler_for(event) @event_handlers ? @event_handlers.for(event) : nil end
handles?(event)
click to toggle source
# File lib/TrRMIte/event_handling.rb, line 32 def handles?(event) !handler_for(event).nil? end