Sha256: 7344f7707c09db0168e29742d0083bb0b68ff52e4a5179ad255a04add1ff0412
Contents?: true
Size: 863 Bytes
Versions: 10
Compression:
Stored size: 863 Bytes
Contents
# Stolen from Bmabey's database_cleaner gem for educational purposes ;) module Transaction class << self def connection_klass ActiveRecord::Base end def start if connection_klass.connection.respond_to?(:increment_open_transactions) connection_klass.connection.increment_open_transactions else connection_klass.__send__(:increment_open_transactions) end connection_klass.connection.begin_db_transaction end def clean return unless connection_klass.connection.open_transactions > 0 connection_klass.connection.rollback_db_transaction if connection_klass.connection.respond_to?(:decrement_open_transactions) connection_klass.connection.decrement_open_transactions else connection_klass.__send__(:decrement_open_transactions) end end end end
Version data entries
10 entries across 10 versions & 2 rubygems