Module: Spider::EventSource::ClassMethods
- Defined in:
- lib/spiderfw/utils/events/event_source.rb
Instance Method Summary collapse
Instance Method Details
#inherited(sub) ⇒ Object
11 12 13 14 15 16 17 18 19 20 |
# File 'lib/spiderfw/utils/events/event_source.rb', line 11 def inherited(sub) if @event_handlers @event_handlers.each do |event_name, arr| arr.each do |proc| sub.on(event_name, &proc) end end end super end |
#on(event_name, &proc) ⇒ Object
22 23 24 25 26 |
# File 'lib/spiderfw/utils/events/event_source.rb', line 22 def on(event_name, &proc) @event_handlers ||= {} @event_handlers[event_name] ||= [] @event_handlers[event_name] << proc end |
#trigger(event_name, *params) ⇒ Object
28 29 30 31 32 33 |
# File 'lib/spiderfw/utils/events/event_source.rb', line 28 def trigger(event_name, *params) return unless @event_handlers && @event_handlers[event_name] @event_handlers[event_name].each do |h| h.call(*params) end end |