diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2015-02-01 13:52:50 -0800 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2015-02-01 13:55:16 -0800 |
commit | da8de9114b41618322dde17c35b891ade46751fe (patch) | |
tree | 801589fbaa9f58626b13c20652af4691379f49ba /activerecord/lib/active_record/transactions.rb | |
parent | e87ff501932eb1baecafcca64518e3763597163e (diff) | |
download | rails-da8de9114b41618322dde17c35b891ade46751fe.tar.gz rails-da8de9114b41618322dde17c35b891ade46751fe.tar.bz2 rails-da8de9114b41618322dde17c35b891ade46751fe.zip |
push add to transaction logic down to the instance
the transaction object shouldn't know so much about active record
objects, so let's push the conditionals in to the instance.
Diffstat (limited to 'activerecord/lib/active_record/transactions.rb')
-rw-r--r-- | activerecord/lib/active_record/transactions.rb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/transactions.rb b/activerecord/lib/active_record/transactions.rb index 99b3b5c245..609c395cb6 100644 --- a/activerecord/lib/active_record/transactions.rb +++ b/activerecord/lib/active_record/transactions.rb @@ -318,7 +318,11 @@ module ActiveRecord # 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) + if has_transactional_callbacks? + self.class.connection.add_transaction_record(self) + else + set_transaction_state(self.class.connection.transaction_state) + end remember_transaction_record_state end |