Class: Crspec::Rails::DatabaseIsolation

Inherits:
Object
  • Object
show all
Defined in:
lib/crspec/rails/database_isolation.rb

Class Method Summary collapse

Class Method Details

.wrap_example(example) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/crspec/rails/database_isolation.rb', line 6

def self.wrap_example(example)
  if defined?(ActiveRecord::Base) && ActiveRecord::Base.connected?
    ActiveRecord::Base.connection_pool.with_connection do |conn|
      conn.transaction(requires_new: true) do
        example.execute!
        raise ActiveRecord::Rollback
      end
    end
  else
    example.execute!
  end
end