module ActiveRecord::DatabaseMutex

This module is mixed into ActiveRecord::Base to provide the mutex methods that return a mutex for a particular ActiveRecord::Base subclass/instance.

Constants

VERSION

ActiveRecord::DatabaseMutex version

Public Class Methods

for(name) click to toggle source

Return a mutex implementation for the mutex named name.

# File lib/active_record/database_mutex.rb, line 31
def self.for(name)
  Implementation.new(:name => name)
end
included(modul) click to toggle source
# File lib/active_record/database_mutex.rb, line 24
def self.included(modul)
  modul.instance_eval do
    extend ClassMethods
  end
end

Public Instance Methods

mutex() click to toggle source

Returns a mutex instance for this ActiveRecord instance.

# File lib/active_record/database_mutex.rb, line 45
def mutex
  if persisted?
    @mutex ||= Implementation.new(:name => "#{id}@#{self.class.name}")
  else
    raise MutexInvalidState, "instance #{inspect} not persisted"
  end
end