sync_with_transaction_state
- 1.0.0
- 1.1.6
- 1.2.6
- 2.0.3
- 2.1.0
- 2.2.1
- 2.3.8
- 3.0.0
- 3.0.9
- 3.1.0
- 3.2.1
- 3.2.8
- 3.2.13
- 4.0.2
- 4.1.8
- 4.2.1
- 4.2.7
- 4.2.9
- 5.0.0.1 (0)
- 5.1.7 (0)
- 5.2.3 (0)
- 6.0.0 (-12)
- 6.1.3.1
- 6.1.7.7
- 7.0.0
- 7.1.3.2
- 7.1.3.4
- What's this?
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.