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