Sha256: fa4c5f8bc79d151210c5def6cebee95839394d9af021defc1a45475c8d80e312

Contents?: true

Size: 472 Bytes

Versions: 4

Compression:

Stored size: 472 Bytes

Contents

require 'database_cleaner/sequel/base'

module DatabaseCleaner
  module Sequel
    class Transaction < Base
      def start
        @fibers ||= []
        db = self.db
        f = Fiber.new do
          db.transaction(:rollback => :always, :savepoint => true, :auto_savepoint => true) do
            Fiber.yield
          end
        end
        f.resume
        @fibers << f
      end

      def clean
        f = @fibers.pop
        f.resume
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
database_cleaner-sequel-2.0.2 lib/database_cleaner/sequel/transaction.rb
database_cleaner-sequel-2.0.1 lib/database_cleaner/sequel/transaction.rb
database_cleaner-sequel-2.0.0 lib/database_cleaner/sequel/transaction.rb
database_cleaner-sequel-2.0.0.beta lib/database_cleaner/sequel/transaction.rb