Sha256: 5a0dc5043071fe85de44c65c9ee44a10d5574089357ab4e1adad50d493e24817

Contents?: true

Size: 1.08 KB

Versions: 2

Compression:

Stored size: 1.08 KB

Contents

# frozen_string_literal: true

module DatabaseRewinder
  module InsertRecorder
    def execute(sql, *)
      DatabaseRewinder.record_inserted_table self, sql
      super
    end

    if ActiveRecord::VERSION::MAJOR < 5
      def exec_query(sql, *)
        DatabaseRewinder.record_inserted_table self, sql
        super
      end
    else
      def exec_query(sql, *, **)
        DatabaseRewinder.record_inserted_table self, sql
        super
      end
    end
  end
end

::ActiveRecord::ConnectionAdapters::SQLite3Adapter.send :prepend, DatabaseRewinder::InsertRecorder if defined? ::ActiveRecord::ConnectionAdapters::SQLite3Adapter
::ActiveRecord::ConnectionAdapters::PostgreSQLAdapter.send :prepend, DatabaseRewinder::InsertRecorder if defined? ::ActiveRecord::ConnectionAdapters::PostgreSQLAdapter
::ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter.send :prepend, DatabaseRewinder::InsertRecorder if defined? ::ActiveRecord::ConnectionAdapters::AbstractMysqlAdapter

def (::ActiveRecord::ConnectionAdapters::AbstractAdapter).inherited(adapter)
  adapter.prepend DatabaseRewinder::InsertRecorder
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
database_rewinder-0.9.5 lib/database_rewinder/active_record_monkey.rb
database_rewinder-0.9.4 lib/database_rewinder/active_record_monkey.rb