Module: Onceler::Transactions

Included in:
ActiveRecord::TestFixtures, Recorder
Defined in:
lib/onceler/transactions/active_record_3.rb,
lib/onceler/transactions/active_record_4.rb

Instance Method Summary collapse

Instance Method Details

#begin_transaction(conn) ⇒ Object



3
4
5
6
7
8
9
10
11
# File 'lib/onceler/transactions/active_record_3.rb', line 3

def begin_transaction(conn)
  if conn.open_transactions == 0
    conn.transaction_joinable = false
    conn.begin_db_transaction
  else
    conn.create_savepoint
  end
  conn.increment_open_transactions
end

#rollback_transaction(conn) ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/onceler/transactions/active_record_3.rb', line 13

def rollback_transaction(conn)
  conn.decrement_open_transactions
  if conn.open_transactions == 0
    conn.rollback_db_transaction
  else
    conn.rollback_to_savepoint
  end
end