Sha256: f6788981d8b62b9dec317a2c9a0322e934c628219b3eec3f4013cf0ff58ff293

Contents?: true

Size: 581 Bytes

Versions: 6

Compression:

Stored size: 581 Bytes

Contents

require 'database_cleaner/active_record/base'

module DatabaseCleaner
  module ActiveRecord
    class Transaction < Base
      def start
        # Hack to make sure that the connection is properly set up before cleaning
        connection_class.connection.transaction {}

        connection_class.connection.begin_transaction joinable: false
      end


      def clean
        connection_class.connection_pool.connections.each do |connection|
          next unless connection.open_transactions > 0
          connection.rollback_transaction
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
database_cleaner-active_record-2.1.0 lib/database_cleaner/active_record/transaction.rb
date_n_time_picker_activeadmin-0.1.2 vendor/bundle/ruby/2.6.0/gems/database_cleaner-active_record-2.0.1/lib/database_cleaner/active_record/transaction.rb
date_n_time_picker_activeadmin-0.1.1 vendor/bundle/ruby/2.6.0/gems/database_cleaner-active_record-2.0.1/lib/database_cleaner/active_record/transaction.rb
database_cleaner-active_record-2.0.1 lib/database_cleaner/active_record/transaction.rb
database_cleaner-active_record-2.0.0 lib/database_cleaner/active_record/transaction.rb
database_cleaner-active_record-2.0.0.beta2 lib/database_cleaner/active_record/transaction.rb