Module: ActiveRecord::Transactions

Defined in:
lib/active_record/transactions.rb

Overview

:nodoc:

Defined Under Namespace

Modules: ClassMethods Classes: TransactionError

Constant Summary collapse

TRANSACTION_MUTEX =
Mutex.new

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.append_features(base) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/active_record/transactions.rb', line 12

def self.append_features(base)
  super
  base.extend(ClassMethods)

  base.class_eval do
    alias_method :destroy_without_transactions, :destroy
    alias_method :destroy, :destroy_with_transactions

    alias_method :save_without_transactions, :save
    alias_method :save, :save_with_transactions
  end
end

Instance Method Details

#destroy_with_transactionsObject

:nodoc:



123
124
125
# File 'lib/active_record/transactions.rb', line 123

def destroy_with_transactions #:nodoc:
  transaction { destroy_without_transactions }
end

#save_with_transactions(perform_validation = true) ⇒ Object

:nodoc:



127
128
129
# File 'lib/active_record/transactions.rb', line 127

def save_with_transactions(perform_validation = true) #:nodoc:
  transaction { save_without_transactions(perform_validation) }
end

#transaction(*objects, &block) ⇒ Object



119
120
121
# File 'lib/active_record/transactions.rb', line 119

def transaction(*objects, &block)
  self.class.transaction(*objects, &block)
end