Class: Synapse::Repository::PessimisticLockManager
- Inherits:
-
LockManager
- Object
- LockManager
- Synapse::Repository::PessimisticLockManager
- Defined in:
- lib/synapse/repository/pessimistic_lock_manager.rb
Overview
Implementation of a lock manager that blocks until a lock can be obtained
Instance Method Summary collapse
- #initialize ⇒ undefined constructor
- #obtain_lock(aggregate_id) ⇒ undefined
- #release_lock(aggregate_id) ⇒ undefined
- #validate_lock(aggregate) ⇒ Boolean
Constructor Details
#initialize ⇒ undefined
6 7 8 |
# File 'lib/synapse/repository/pessimistic_lock_manager.rb', line 6 def initialize @manager = IdentifierLockManager.new end |
Instance Method Details
#obtain_lock(aggregate_id) ⇒ undefined
18 19 20 |
# 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) ⇒ undefined
24 25 26 |
# File 'lib/synapse/repository/pessimistic_lock_manager.rb', line 24 def release_lock(aggregate_id) @manager.release_lock aggregate_id end |
#validate_lock(aggregate) ⇒ Boolean
12 13 14 |
# File 'lib/synapse/repository/pessimistic_lock_manager.rb', line 12 def validate_lock(aggregate) @manager.owned? aggregate.id end |