Class: Synapse::EventSourcing::SnapshotUnitOfWorkListener

Inherits:
UnitOfWork::UnitOfWorkListener show all
Defined in:
lib/synapse/event_sourcing/snapshot/unit_listener.rb

Overview

Unit of work listener that schedules snapshots

Instance Method Summary collapse

Methods inherited from UnitOfWork::UnitOfWorkListener

#after_commit, #on_event_registered, #on_prepare_commit, #on_prepare_transaction_commit, #on_rollback, #on_start

Constructor Details

#initialize(type_identifier, aggregate, policy, taker) ⇒ undefined

Parameters:



10
11
12
13
14
15
# File 'lib/synapse/event_sourcing/snapshot/unit_listener.rb', line 10

def initialize(type_identifier, aggregate, policy, taker)
  @type_identifier = type_identifier
  @aggregate = aggregate
  @policy = policy
  @taker = taker
end

Instance Method Details

#on_cleanup(unit) ⇒ undefined

Parameters:

Returns:

  • (undefined)


19
20
21
22
23
# File 'lib/synapse/event_sourcing/snapshot/unit_listener.rb', line 19

def on_cleanup(unit)
  if @policy.should_snapshot? @aggregate
    @taker.schedule_snapshot @type_identifier, @aggregate.id
  end
end