Small refactoring on clear_transaction_record_state
Make sure when we clean the `@_start_transaction_state` var we do it in the same code-path. Also this makes `clear_transaction_record_state`, more consistent with `restore_transaction_record_state`
This commit is contained in:
parent
16a8a68b7e
commit
e3d223bcce
@ -295,7 +295,7 @@ def rollback_active_record_state!
|
||||
def committed! #:nodoc:
|
||||
run_callbacks :commit if destroyed? || persisted?
|
||||
ensure
|
||||
@_start_transaction_state.clear
|
||||
clear_transaction_record_state(true)
|
||||
end
|
||||
|
||||
# Call the +after_rollback+ callbacks. The +force_restore_state+ argument indicates if the record
|
||||
@ -353,9 +353,11 @@ def remember_transaction_record_state #:nodoc:
|
||||
end
|
||||
|
||||
# Clear the new record state and id of a record.
|
||||
def clear_transaction_record_state #:nodoc:
|
||||
def clear_transaction_record_state(force = false) #:nodoc:
|
||||
@_start_transaction_state[:level] = (@_start_transaction_state[:level] || 0) - 1
|
||||
@_start_transaction_state.clear if @_start_transaction_state[:level] < 1
|
||||
if force || @_start_transaction_state[:level] < 1
|
||||
@_start_transaction_state.clear
|
||||
end
|
||||
end
|
||||
|
||||
# Restore the new record state and id of a record that was previously saved by a call to save_record_state.
|
||||
|
Loading…
Reference in New Issue
Block a user