Module: AdvisoryLock::Implementation
- Included in:
- AdvisoryLock
- Defined in:
- lib/tracker/advisory_lock.rb
Instance Method Summary collapse
Instance Method Details
#exclusive(lock_identifier, connection = ActiveRecord::Base.connection, &_block) ⇒ Object
| 15 16 17 18 19 20 21 22 23 24 25 | # File 'lib/tracker/advisory_lock.rb', line 15 def exclusive(lock_identifier, connection = ActiveRecord::Base.connection, &_block) if obtained_lock?(lock_identifier, connection) begin yield ensure release_lock(lock_identifier, connection) end else raise "Cannot get lock #{lock_identifier.inspect}" end end |