Class: Mammoth::OperationalState::Adapter
- Inherits:
-
Object
- Object
- Mammoth::OperationalState::Adapter
- Defined in:
- lib/mammoth/operational_state/adapter.rb
Overview
Base contract for operational state adapters.
Direct Known Subclasses
Instance Method Summary collapse
-
#bootstrap! ⇒ Mammoth::OperationalState::Adapter
Initialize the adapter's durable state.
- #checkpoint_store ⇒ Mammoth::CheckpointStore
- #dead_letter_store ⇒ Mammoth::DeadLetterStore
- #delivered_envelope_store ⇒ Mammoth::DeliveredEnvelopeStore
- #initialize ⇒ void constructor
-
#ready? ⇒ Boolean
Report whether the adapter can serve operational state.
-
#summary ⇒ Hash
JSON-friendly state summary.
Constructor Details
#initialize ⇒ void
9 |
# File 'lib/mammoth/operational_state/adapter.rb', line 9 def initialize; end |
Instance Method Details
#bootstrap! ⇒ Mammoth::OperationalState::Adapter
Initialize the adapter's durable state.
29 30 31 |
# File 'lib/mammoth/operational_state/adapter.rb', line 29 def bootstrap! raise NotImplementedError, "#{self.class} must implement #bootstrap!" end |
#checkpoint_store ⇒ Mammoth::CheckpointStore
12 13 14 |
# File 'lib/mammoth/operational_state/adapter.rb', line 12 def checkpoint_store raise NotImplementedError, "#{self.class} must implement #checkpoint_store" end |
#dead_letter_store ⇒ Mammoth::DeadLetterStore
17 18 19 |
# File 'lib/mammoth/operational_state/adapter.rb', line 17 def dead_letter_store raise NotImplementedError, "#{self.class} must implement #dead_letter_store" end |
#delivered_envelope_store ⇒ Mammoth::DeliveredEnvelopeStore
22 23 24 |
# File 'lib/mammoth/operational_state/adapter.rb', line 22 def delivered_envelope_store raise NotImplementedError, "#{self.class} must implement #delivered_envelope_store" end |
#ready? ⇒ Boolean
Report whether the adapter can serve operational state.
Implementations must translate backend-specific failures into false.
38 39 40 |
# File 'lib/mammoth/operational_state/adapter.rb', line 38 def ready? raise NotImplementedError, "#{self.class} must implement #ready?" end |
#summary ⇒ Hash
Returns JSON-friendly state summary.
43 44 45 46 47 48 49 50 |
# File 'lib/mammoth/operational_state/adapter.rb', line 43 def summary { adapter: "unknown", checkpoints: checkpoint_store.count, dead_letters: dead_letter_store.count, delivered_envelopes: delivered_envelope_store.count } end |