Module: Hecks::Ports::Persistence
- Defined in:
- lib/hecks/ports/persistence.rb,
lib/hecks/ports/persistence.rb,
lib/hecks/ports/persistence/lineage.rb,
lib/hecks/ports/persistence/execution.rb,
lib/hecks/ports/persistence/append_only.rb,
lib/hecks/ports/persistence/binding_policy.rb,
lib/hecks/ports/persistence/remote_runtime.rb,
lib/hecks/ports/persistence/null_saga_store.rb,
lib/hecks/ports/persistence/repository_factory.rb
Defined Under Namespace
Modules: BindingPolicy, RemoteRuntime, RepositoryFactory Classes: AppendOnly, Entry, Lineage, NullSagaStore, Outcome
Constant Summary collapse
- NAME =
"persistence"- VERB =
"persisted_by"- DEFAULT_ADAPTER =
"Memory"- NULL_SAGA_STORE =
NullSagaStore.new
Class Method Summary collapse
- .bind_for(registry, domain, aggregate) ⇒ Object
- .binds_for(registry, domain, aggregate) ⇒ Object
-
.repository(registry, domain, aggregate) ⇒ Object
The public persistence port owns only authoritative aggregate heads.
Class Method Details
.bind_for(registry, domain, aggregate) ⇒ Object
34 35 36 |
# File 'lib/hecks/ports/persistence.rb', line 34 def bind_for(registry, domain, aggregate) binds_for(registry, domain, aggregate).first end |
.binds_for(registry, domain, aggregate) ⇒ Object
30 31 32 |
# File 'lib/hecks/ports/persistence.rb', line 30 def binds_for(registry, domain, aggregate) [BindingPolicy.resolve(registry, domain, aggregate), []] end |
.repository(registry, domain, aggregate) ⇒ Object
The public persistence port owns only authoritative aggregate heads.
25 26 27 28 |
# File 'lib/hecks/ports/persistence.rb', line 25 def repository(registry, domain, aggregate) = BindingPolicy.resolve(registry, domain, aggregate) RepositoryFactory.build(registry, domain, aggregate, ) end |