Module: Reins::Spec::Model

Defined in:
lib/reins/spec/model.rb

Defined Under Namespace

Classes: Rollback

Class Method Summary collapse

Class Method Details

.in_transactionObject



14
15
16
17
18
19
20
21
# File 'lib/reins/spec/model.rb', line 14

def self.in_transaction
  Reins::Database.connection.transaction do
    yield
    raise Rollback
  end
rescue Rollback
  # Caught — the transaction has rolled back.
end

.included(base) ⇒ Object



8
9
10
11
12
# File 'lib/reins/spec/model.rb', line 8

def self.included(base)
  base.around do |example|
    Reins::Spec::Model.in_transaction { example.run }
  end
end