Module: Sourced::React::ClassMethods
- Defined in:
- lib/sourced/react.rb
Instance Method Summary collapse
-
#consumer_info ⇒ Object
Override this with extend Sourced::Consumer.
-
#handle_events(_events) ⇒ Object
These two are the Reactor interface expected by Worker.
- #handled_events_for_react ⇒ Object
- #inherited(subclass) ⇒ Object
- #react(event_type, &block) ⇒ Object
Instance Method Details
#consumer_info ⇒ Object
Override this with extend Sourced::Consumer
37 38 39 |
# File 'lib/sourced/react.rb', line 37 def consumer_info Sourced::Consumer::ConsumerInfo.new(group_id: name) end |
#handle_events(_events) ⇒ Object
These two are the Reactor interface expected by Worker
43 44 45 |
# File 'lib/sourced/react.rb', line 43 def handle_events(_events) raise NoMethodError, "implement .handle_events(Array<Event>) in #{self}" end |
#handled_events_for_react ⇒ Object
47 48 49 |
# File 'lib/sourced/react.rb', line 47 def handled_events_for_react @handled_events_for_react ||= [] end |
#inherited(subclass) ⇒ Object
29 30 31 32 33 34 |
# File 'lib/sourced/react.rb', line 29 def inherited(subclass) super handled_events_for_react.each do |evt_type| subclass.handled_events_for_react << evt_type end end |
#react(event_type, &block) ⇒ Object
51 52 53 54 |
# File 'lib/sourced/react.rb', line 51 def react(event_type, &block) handled_events_for_react << event_type unless event_type.is_a?(Symbol) define_method(Sourced.(React::PREFIX, event_type.to_s), &block) if block_given? end |