method

sync_with_transaction_state

Importance_2
v5.0.0.1 - Show latest stable - 0 notes - Class: ActiveRecord::Transactions
sync_with_transaction_state() private

Updates the attributes on this particular Active Record object so that if it’s associated with a transaction, then the state of the Active Record object will be updated to reflect the current state of the transaction

The +@transaction_state+ variable stores the states of the associated transaction. This relies on the fact that a transaction can only be in one rollback or commit (otherwise a list of states would be required) Each Active Record object inside of a transaction carries that transaction’s TransactionState.

This method checks to see if the ActiveRecord object’s state reflects the TransactionState, and rolls back or commits the Active Record object as appropriate.

Since Active Record objects can be inside multiple transactions, this method recursively goes through the parent of the TransactionState and checks if the Active Record object reflects the state of the object.

Show source
Register or log in to add new notes.