Sha256: 8abe0b08b15bc5484f6b55f60e55b6f74ccb855e4e5a7e74d582b9042a158567
Contents?: true
Size: 1.12 KB
Versions: 4
Compression:
Stored size: 1.12 KB
Contents
require 'rspec/core' module Rspec module Rails module TransactionalDatabaseSupport def active_record_configured? defined?(::ActiveRecord) && !::ActiveRecord::Base.configurations.blank? end def use_transactional_examples? active_record_configured? && Rspec.configuration.use_transactional_examples? end def setup_transactional_examples return unless use_transactional_examples? ::ActiveRecord::Base.connection.increment_open_transactions ::ActiveRecord::Base.connection.begin_db_transaction end def teardown_transactional_examples return unless use_transactional_examples? if ::ActiveRecord::Base.connection.open_transactions != 0 ::ActiveRecord::Base.connection.rollback_db_transaction ::ActiveRecord::Base.connection.decrement_open_transactions end ::ActiveRecord::Base.clear_active_connections! end end end end Rspec.configure do |c| c.include Rspec::Rails::TransactionalDatabaseSupport c.before { setup_transactional_examples } c.after { teardown_transactional_examples } end
Version data entries
4 entries across 4 versions & 1 rubygems