Topic: Override method in class

Hi,

The code below shows an attempt to override begin and commit_db_transaction in ActiveRecord. However, this doesn't work. The code in begin and commit_db_transaction of my extension is completely ignored and instead the original code in activerecord AbstractMysqlAdapter is executed.

What am I doing wrong? The code below is part of a plugin that I've created. I've added this plugin in the gemfile of rails test app in order to test my plugin. All other functionality of my plugin is working normally indicating that the code is loaded.

module ActiveRecord
  module ConnectionAdapters   
    class AbstractMysqlAdapter < AbstractAdapter
      alias_method :original_begin_db_transaction, :begin_db_transaction
      alias_method :original_commit_db_transaction, :commit_db_transaction

      def begin_db_transaction
        original_begin_db_transaction unless xa_transaction_in_progress?
      end

      def commit_db_transaction
        original_commit_db_transaction unless xa_transaction_in_progress?
      end
     
    end
  end
end