Class: Easyop::Events::Bus::Base
- Inherits:
-
Object
- Object
- Easyop::Events::Bus::Base
- Defined in:
- lib/easyop/events/bus.rb
Overview
Abstract base for bus adapters.
Subclasses must implement:
#publish(event) — deliver event to matching subscribers
#subscribe(pattern, &block) — register a handler block
Optionally override:
#unsubscribe(handle) — remove a subscription (handle is return value of #subscribe)
Direct Known Subclasses
Instance Method Summary collapse
- #publish(event) ⇒ Object
-
#subscribe(pattern) {|event| ... } ⇒ Object
Subscription handle (adapter-specific).
-
#unsubscribe(handle) ⇒ Object
Remove a subscription created by #subscribe.
Instance Method Details
#publish(event) ⇒ Object
18 19 20 |
# File 'lib/easyop/events/bus.rb', line 18 def publish(event) raise NotImplementedError, "#{self.class}#publish must be implemented" end |
#subscribe(pattern) {|event| ... } ⇒ Object
Returns subscription handle (adapter-specific).
25 26 27 |
# File 'lib/easyop/events/bus.rb', line 25 def subscribe(pattern, &block) raise NotImplementedError, "#{self.class}#subscribe must be implemented" end |
#unsubscribe(handle) ⇒ Object
Remove a subscription created by #subscribe.
31 32 33 |
# File 'lib/easyop/events/bus.rb', line 31 def unsubscribe(handle) # default no-op — adapters may override end |