class Synapse::Repository::PessimisticLockManager
Implementation of a lock manager that blocks until a lock can be obtained
Public Class Methods
new()
click to toggle source
@return [undefined]
# File lib/synapse/repository/pessimistic_lock_manager.rb, line 6 def initialize @manager = IdentifierLockManager.new end
Public Instance Methods
obtain_lock(aggregate_id)
click to toggle source
@param [Object] aggregate_id @return [undefined]
# File lib/synapse/repository/pessimistic_lock_manager.rb, line 18 def obtain_lock(aggregate_id) @manager.obtain_lock aggregate_id end
release_lock(aggregate_id)
click to toggle source
@param [Object] aggregate_id @return [undefined]
# File lib/synapse/repository/pessimistic_lock_manager.rb, line 24 def release_lock(aggregate_id) @manager.release_lock aggregate_id end
validate_lock(aggregate)
click to toggle source
@param [AggregateRoot] aggregate @return [Boolean]
# File lib/synapse/repository/pessimistic_lock_manager.rb, line 12 def validate_lock(aggregate) @manager.owned? aggregate.id end