method

sync_with_transaction_state

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.