Skip to content

Commit

Permalink
Don't rewrite AR connection#commit_db_transaction method globally
Browse files Browse the repository at this point in the history
  • Loading branch information
amatsuda committed Jul 28, 2013
1 parent 516606b commit f0942a7
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions activerecord/test/cases/transaction_callbacks_test.rb
Expand Up @@ -182,9 +182,9 @@ def test_only_call_after_rollback_on_create_after_transaction_rollsback_for_new_
end end


def test_call_after_rollback_when_commit_fails def test_call_after_rollback_when_commit_fails
@first.class.connection.class.send(:alias_method, :real_method_commit_db_transaction, :commit_db_transaction) @first.class.connection.singleton_class.send(:alias_method, :real_method_commit_db_transaction, :commit_db_transaction)
begin begin
@first.class.connection.class.class_eval do @first.class.connection.singleton_class.class_eval do
def commit_db_transaction; raise "boom!"; end def commit_db_transaction; raise "boom!"; end
end end


Expand All @@ -194,8 +194,8 @@ def commit_db_transaction; raise "boom!"; end
assert !@first.save rescue nil assert !@first.save rescue nil
assert_equal [:after_rollback], @first.history assert_equal [:after_rollback], @first.history
ensure ensure
@first.class.connection.class.send(:remove_method, :commit_db_transaction) @first.class.connection.singleton_class.send(:remove_method, :commit_db_transaction)
@first.class.connection.class.send(:alias_method, :commit_db_transaction, :real_method_commit_db_transaction) @first.class.connection.singleton_class.send(:alias_method, :commit_db_transaction, :real_method_commit_db_transaction)
end end
end end


Expand Down

0 comments on commit f0942a7

Please sign in to comment.