rails/rails — pull request #15106 by piotrj (2014-05-14 09:28:50+00:00)
Title: Make the transactional callbacks act in the same order as all other ones

All the calllbacks except for transactional are executed in the order
they are defined. Transactional callbacks are executed in reverse order.
It's because active_model/callbacks#_define_after_model_callback forces
options[:prepend] = true. This means that every after_* callback gets
prepend = true by default. Transactional callbacks have their own
methods defined in active_record/transaction. Methods for after_commit
and after_rollback did not enfore the options[:prepend] = true and
that's where the inconsistency comes from.

This commit introduces the consistency across all callbacks.