Sha256: b041bc7b9bece761617e573573a6a6a27232ee21b5bec41ead5b4c46c2ebbc2a
Contents?: true
Size: 514 Bytes
Versions: 3
Compression:
Stored size: 514 Bytes
Contents
module Aggro # Public: Tracks the state of a saga as it processes. class SagaStatus include Projection include Concurrent::Obligation def initialize(id) @state = :unscheduled init_obligation super end events do def started self.state = :pending end def rejected(reason) set_state false, nil, reason event.set end def resolved(value) set_state true, value, nil event.set end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
aggro-0.0.4 | lib/aggro/saga_status.rb |
aggro-0.0.3 | lib/aggro/saga_status.rb |
aggro-0.0.2 | lib/aggro/saga_status.rb |