aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--activerecord/lib/active_record/callbacks.rb2
-rw-r--r--activerecord/test/cases/callbacks_test.rb7
-rw-r--r--activerecord/test/cases/transaction_callbacks_test.rb12
3 files changed, 15 insertions, 6 deletions
diff --git a/activerecord/lib/active_record/callbacks.rb b/activerecord/lib/active_record/callbacks.rb
index c203581735..a31973d529 100644
--- a/activerecord/lib/active_record/callbacks.rb
+++ b/activerecord/lib/active_record/callbacks.rb
@@ -235,7 +235,7 @@ module ActiveRecord
:after_initialize, :after_find, :after_touch, :before_validation, :after_validation,
:before_save, :around_save, :after_save, :before_create, :around_create,
:after_create, :before_update, :around_update, :after_update,
- :before_destroy, :around_destroy, :after_destroy
+ :before_destroy, :around_destroy, :after_destroy, :after_commit, :after_rollback
]
included do
diff --git a/activerecord/test/cases/callbacks_test.rb b/activerecord/test/cases/callbacks_test.rb
index dc7f82b001..8a84f19836 100644
--- a/activerecord/test/cases/callbacks_test.rb
+++ b/activerecord/test/cases/callbacks_test.rb
@@ -461,7 +461,12 @@ class CallbacksTest < ActiveRecord::TestCase
[ :before_validation, :proc ],
[ :before_validation, :object ],
[ :before_validation, :block ],
- [ :before_validation, :returning_false ]
+ [ :before_validation, :returning_false ],
+ [ :after_rollback, :block ],
+ [ :after_rollback, :object ],
+ [ :after_rollback, :proc ],
+ [ :after_rollback, :string ],
+ [ :after_rollback, :method ],
], david.history
end
diff --git a/activerecord/test/cases/transaction_callbacks_test.rb b/activerecord/test/cases/transaction_callbacks_test.rb
index cc146f5574..85f222bca2 100644
--- a/activerecord/test/cases/transaction_callbacks_test.rb
+++ b/activerecord/test/cases/transaction_callbacks_test.rb
@@ -260,22 +260,26 @@ class TransactionObserverCallbacksTest < ActiveRecord::TestCase
class TopicWithObserverAttachedObserver < ActiveRecord::Observer
def after_commit(record)
- record.history.push :"TopicWithObserverAttachedObserver#after_commit"
+ record.history.push "after_commit"
end
def after_rollback(record)
- record.history.push :"TopicWithObserverAttachedObserver#after_rollback"
+ record.history.push "after_rollback"
end
end
def test_after_commit_called
+ assert TopicWithObserverAttachedObserver.instance, 'should have observer'
+
topic = TopicWithObserverAttached.new
topic.save!
- assert_equal topic.history, [:"TopicWithObserverAttachedObserver#after_commit"]
+ assert_equal %w{ after_commit }, topic.history
end
def test_after_rollback_called
+ assert TopicWithObserverAttachedObserver.instance, 'should have observer'
+
topic = TopicWithObserverAttached.new
Topic.transaction do
@@ -283,6 +287,6 @@ class TransactionObserverCallbacksTest < ActiveRecord::TestCase
raise ActiveRecord::Rollback
end
- assert_equal topic.history, [:"TopicWithObserverObserver#after_rollback"]
+ assert_equal %w{ after_rollback }, topic.history
end
end