Module: Gumdrop::Util::Eventable
Instance Method Summary collapse
Instance Method Details
#clear_events ⇒ Object
31 32 33 |
# File 'lib/gumdrop/util/eventable.rb', line 31 def clear_events @event_table ||= Onfire::EventTable.new end |
#event_block(target) ⇒ Object
8 9 10 11 12 13 14 15 16 17 |
# 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) ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 |
# 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 |