Sha256: 879a8dd025de79eab4559ff8eec222debe35913c7003f5ae9d4217a1342bb5d8
Contents?: true
Size: 701 Bytes
Versions: 5
Compression:
Stored size: 701 Bytes
Contents
require 'onfire' module Gumdrop::Util module Eventable include ::Onfire 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 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 def clear_events @event_table ||= Onfire::EventTable.new end end end
Version data entries
5 entries across 5 versions & 1 rubygems