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