module WithTransactionalLock::Mixin::ClassMethods

Public Instance Methods

with_transactional_lock(lock_name, &block) click to toggle source
# File lib/with_transactional_lock/mixin.rb, line 9
def with_transactional_lock(lock_name, &block)
  _advisory_lock_class.new(connection, lock_name).yield_with_lock(&block)
end

Private Instance Methods

_advisory_lock_class() click to toggle source
# File lib/with_transactional_lock/mixin.rb, line 15
def _advisory_lock_class
  @_advisory_lock_class ||= AdvisoryLockClassLocator.locate(connection) # rubocop:disable Naming/MemoizedInstanceVariableName
end