Sha256: ebc0c2c744bb97a8c5aed756036806c8d58227f3beaf878d60a47b7e298a212d

Contents?: true

Size: 840 Bytes

Versions: 16

Compression:

Stored size: 840 Bytes

Contents

require 'database_cleaner/data_mapper/base'

module DatabaseCleaner::DataMapper
  class Transaction
    include ::DatabaseCleaner::DataMapper::Base
    #TODO Figure out repositories, may have to refactor connection_klass to something more sensible
    def start(repository = nil)
      repository = self.db if repository.nil?
      ::DataMapper.repository(repository) do |r|
        transaction = DataMapper::Transaction.new(r)
        transaction.begin
        r.adapter.push_transaction(transaction)
      end
    end

    def clean(repository = nil)
      repository = self.db if repository.nil?
      ::DataMapper.repository(repository) do |r|
        adapter = r.adapter
        while adapter.current_transaction
          adapter.current_transaction.rollback
          adapter.pop_transaction
        end
      end
    end

  end
end

Version data entries

16 entries across 16 versions & 2 rubygems

Version Path
radiant-1.0.0 ruby-debug/ruby/1.8/gems/database_cleaner-0.6.7/lib/database_cleaner/data_mapper/transaction.rb
database_cleaner-0.7.0 lib/database_cleaner/data_mapper/transaction.rb
database_cleaner-0.6.7 lib/database_cleaner/data_mapper/transaction.rb
database_cleaner-0.6.7.RC lib/database_cleaner/data_mapper/transaction.rb
database_cleaner-0.6.6 lib/database_cleaner/data_mapper/transaction.rb
database_cleaner-0.6.5 lib/database_cleaner/data_mapper/transaction.rb
database_cleaner-0.6.4 lib/database_cleaner/data_mapper/transaction.rb
database_cleaner-0.6.3 lib/database_cleaner/data_mapper/transaction.rb
database_cleaner-0.6.2 lib/database_cleaner/data_mapper/transaction.rb
database_cleaner-0.6.1 lib/database_cleaner/data_mapper/transaction.rb
database_cleaner-0.6.1.rc2 lib/database_cleaner/data_mapper/transaction.rb
database_cleaner-0.6.1.rc lib/database_cleaner/data_mapper/transaction.rb
database_cleaner-0.6.0 lib/database_cleaner/data_mapper/transaction.rb
database_cleaner-0.6.0.rc.3 lib/database_cleaner/data_mapper/transaction.rb
database_cleaner-0.6.0.rc.2 lib/database_cleaner/data_mapper/transaction.rb
database_cleaner-0.6.0.rc.1 lib/database_cleaner/data_mapper/transaction.rb