Module: Spider::EventSource
- Included in:
- Model::BaseModel
- Defined in:
- lib/spiderfw/utils/events/event_source.rb
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(klass) ⇒ Object
5 6 7 |
# File 'lib/spiderfw/utils/events/event_source.rb', line 5 def self.included(klass) klass.extend(ClassMethods) end |
Instance Method Details
#on(event_name, *params) ⇒ Object
37 38 39 40 41 42 |
# File 'lib/spiderfw/utils/events/event_source.rb', line 37 def on(event_name, *params) @event_handlers ||= {} @event_handlers[event_name] ||= [] debugger unless proc @event_handlers[event_name] << proc end |
#trigger(event_name, *params) ⇒ Object
44 45 46 47 48 49 50 |
# File 'lib/spiderfw/utils/events/event_source.rb', line 44 def trigger(event_name, *params) self.class.trigger(event_name, *([self]+params)) return unless @event_handlers && @event_handlers[event_name] @event_handlers[event_name].each do |h| h.call(*params) end end |