diff options
author | Ryuta Kamizono <kamipo@gmail.com> | 2019-04-14 17:51:27 +0900 |
---|---|---|
committer | Ryuta Kamizono <kamipo@gmail.com> | 2019-04-14 20:55:46 +0900 |
commit | 533dd8a681a3ea7d12acdfc6a2d6a95891282b49 (patch) | |
tree | b22773b8adf3d7b4ebcb93d25c38f38d676193cb /activerecord/lib/active_record/transactions.rb | |
parent | 3e66ba91d511158e22f90ff96b594d61f40eda01 (diff) | |
download | rails-533dd8a681a3ea7d12acdfc6a2d6a95891282b49.tar.gz rails-533dd8a681a3ea7d12acdfc6a2d6a95891282b49.tar.bz2 rails-533dd8a681a3ea7d12acdfc6a2d6a95891282b49.zip |
Don't expose `add_to_transaction`
`add_to_transaction` was added at da840d1, but it should not be called
by except internal, since `remember_transaction_record_state` should be
called only once before saving.
And also, currently `add_to_transaction` doesn't always add the record
to transaction since da8de91, that is the reason hard to use that even
in internal.
Even if `add_to_transaction` ensure to add the record to transaction,
that is an internal concern, people don't need to explicitly call
`add_to_transaction`.
Diffstat (limited to 'activerecord/lib/active_record/transactions.rb')
-rw-r--r-- | activerecord/lib/active_record/transactions.rb | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/activerecord/lib/active_record/transactions.rb b/activerecord/lib/active_record/transactions.rb index 333f1a5435..00a62a70d6 100644 --- a/activerecord/lib/active_record/transactions.rb +++ b/activerecord/lib/active_record/transactions.rb @@ -355,18 +355,6 @@ module ActiveRecord clear_transaction_record_state end - # Add the record to the current transaction so that the #after_rollback and #after_commit callbacks - # can be called. - def add_to_transaction - if has_transactional_callbacks? - self.class.connection.add_transaction_record(self) - else - sync_with_transaction_state - set_transaction_state(self.class.connection.transaction_state) - end - remember_transaction_record_state - end - # Executes +method+ within a transaction and captures its return value as a # status flag. If the status is true the transaction is committed, otherwise # a ROLLBACK is issued. In any case the status flag is returned. @@ -387,7 +375,7 @@ module ActiveRecord ensure if has_transactional_callbacks? && (@_new_record_before_last_commit && !new_record? || _trigger_update_callback || _trigger_destroy_callback) - self.class.connection.add_transaction_record(self) + add_to_transaction end end status @@ -459,6 +447,12 @@ module ActiveRecord end end + # Add the record to the current transaction so that the #after_rollback and #after_commit + # callbacks can be called. + def add_to_transaction + self.class.connection.add_transaction_record(self) + end + def set_transaction_state(state) @transaction_state = state end |