Class: Exa::Instrumentation::BaseSubscriber
- Inherits:
-
Object
- Object
- Exa::Instrumentation::BaseSubscriber
- Defined in:
- lib/exa/instrumentation.rb
Overview
Base class for creating event subscribers. Subclasses should implement #subscribe to add subscriptions.
Direct Known Subclasses
Instance Method Summary collapse
-
#initialize ⇒ BaseSubscriber
constructor
A new instance of BaseSubscriber.
-
#subscribe ⇒ Object
Override to add subscriptions.
-
#unsubscribe ⇒ Object
Unsubscribe from all registered subscriptions.
Constructor Details
#initialize ⇒ BaseSubscriber
Returns a new instance of BaseSubscriber.
103 104 105 |
# File 'lib/exa/instrumentation.rb', line 103 def initialize @subscriptions = [] end |
Instance Method Details
#subscribe ⇒ Object
Override to add subscriptions. Called automatically after initialize.
108 109 110 |
# File 'lib/exa/instrumentation.rb', line 108 def subscribe raise NotImplementedError, "Subclasses must implement #subscribe" end |
#unsubscribe ⇒ Object
Unsubscribe from all registered subscriptions.
113 114 115 116 |
# File 'lib/exa/instrumentation.rb', line 113 def unsubscribe @subscriptions.each { |id| Exa.instrumentation.unsubscribe(id) } @subscriptions.clear end |