diff options
author | Aaron Patterson <aaron.patterson@gmail.com> | 2014-01-16 11:19:08 -0800 |
---|---|---|
committer | Aaron Patterson <aaron.patterson@gmail.com> | 2014-01-16 11:19:08 -0800 |
commit | f19ba681a80c0b0be604c58389ce2892c623d027 (patch) | |
tree | b8020f0e30d6dc93823e5fe9c6fe16a9ada67b74 /activerecord/lib | |
parent | f3e379f0c97149bb29a63dc9db8a2836addcd957 (diff) | |
parent | 73ba2c14cd7d7dfb2d132b18c47ade995401736f (diff) | |
download | rails-f19ba681a80c0b0be604c58389ce2892c623d027.tar.gz rails-f19ba681a80c0b0be604c58389ce2892c623d027.tar.bz2 rails-f19ba681a80c0b0be604c58389ce2892c623d027.zip |
Merge branch 'master' into adequaterecord
* master:
Make AR::Base#touch fire the after_commit and after_rollback callbacks
Fix test for cache_key + touched
Revert "methods are defined right after the module_eval, so we don't need to do"
Revert "Don't remove trailing slash from PATH_INFO for mounted apps"
Add failing test for #13369
reset column information after fiddling with `Encoding.default_internal`
we have `with_env_tz` as global test helper. Remove duplicate.
isolate class attribute assignment in `migration_test.rb`
use `teardown` for cleanup, not `setup`.
tests without transactional fixtures need to cleanup afterwards.
no need to `return skip` in tests. `skip` is enough.
methods are defined right after the module_eval, so we don't need to do any line number maths
Get rid of unused TransactionError constant
Avoid converting :on option to array twice when defining commit/rollback callbacks
Unify changelog entries about single quotes [ci skip]
Use single quotes in generated files
Diffstat (limited to 'activerecord/lib')
-rw-r--r-- | activerecord/lib/active_record/transactions.rb | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/activerecord/lib/active_record/transactions.rb b/activerecord/lib/active_record/transactions.rb index 45313b5e75..c33ffeece0 100644 --- a/activerecord/lib/active_record/transactions.rb +++ b/activerecord/lib/active_record/transactions.rb @@ -6,9 +6,6 @@ module ActiveRecord extend ActiveSupport::Concern ACTIONS = [:create, :destroy, :update] - class TransactionError < ActiveRecordError # :nodoc: - end - included do define_callbacks :commit, :rollback, terminator: ->(_, result) { result == false }, @@ -243,15 +240,14 @@ module ActiveRecord def set_options_for_callbacks!(args) options = args.last if options.is_a?(Hash) && options[:on] - assert_valid_transaction_action(options[:on]) - options[:if] = Array(options[:if]) fire_on = Array(options[:on]) + assert_valid_transaction_action(fire_on) + options[:if] = Array(options[:if]) options[:if] << "transaction_include_any_action?(#{fire_on})" end end def assert_valid_transaction_action(actions) - actions = Array(actions) if (actions - ACTIONS).any? raise ArgumentError, ":on conditions for after_commit and after_rollback callbacks have to be one of #{ACTIONS.join(",")}" end @@ -277,6 +273,10 @@ module ActiveRecord with_transaction_returning_status { super } end + def touch(*) #:nodoc: + with_transaction_returning_status { super } + end + # Reset id and @new_record if the transaction rolls back. def rollback_active_record_state! remember_transaction_record_state |