module Gumdrop::Util::Eventable
Public Instance Methods
clear_events()
click to toggle source
# File lib/gumdrop/util/eventable.rb, line 31 def clear_events @event_table ||= Onfire::EventTable.new end
event_block(target) { |data| ... }
click to toggle source
# File lib/gumdrop/util/eventable.rb, line 8 def event_block(target) fire "before_#{target}".to_sym data= HashObject.new result= data.payload= yield(data) fire target, data fire "after_#{target}".to_sym, data ret_val= data.return_value || result data.clear() ret_val end
fire(event, data=nil)
click to toggle source
# File lib/gumdrop/util/eventable.rb, line 19 def fire(event, data=nil) data= case when data.nil? HashObject.from site:Gumdrop.site when data.is_a?(Hash) HashObject.from(data).merge site:Gumdrop.site else data end event_for(event, self, data).bubble! end