Sha256: c89fb5830f7e5905a77915e1b7ce66b26199febf5643ca588e1bb303c9896e88

Contents?: true

Size: 951 Bytes

Versions: 2

Compression:

Stored size: 951 Bytes

Contents

require 'database_cleaner/active_record/base'
require 'database_cleaner/generic/transaction'

module DatabaseCleaner::ActiveRecord
  class Transaction
    include ::DatabaseCleaner::ActiveRecord::Base
    include ::DatabaseCleaner::Generic::Transaction

    def start
      if connection_class.connection.respond_to?(:increment_open_transactions)
        connection_class.connection.increment_open_transactions
      else
        connection_class.__send__(:increment_open_transactions)
      end
      connection_class.connection.begin_db_transaction
    end


    def clean
      return unless connection_class.connection.open_transactions > 0

      connection_class.connection.rollback_db_transaction

      if connection_class.connection.respond_to?(:decrement_open_transactions)
        connection_class.connection.decrement_open_transactions
      else
        connection_class.__send__(:decrement_open_transactions)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
sunrise-cms-0.5.0.rc1 vendor/bundle/ruby/1.9.1/gems/database_cleaner-0.9.1/lib/database_cleaner/active_record/transaction.rb
database_cleaner-0.9.1 lib/database_cleaner/active_record/transaction.rb