Module: Cucumber::ActiveRecord

Defined in:
lib/cucumber/active_record/world.rb

Defined Under Namespace

Classes: World

Class Method Summary collapse

Class Method Details

.use_transactional_fixturesObject



57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
# File 'lib/cucumber/active_record/world.rb', line 57

def self.use_transactional_fixtures
  World.use_transactional_fixtures = true
  
  $main.Before do
    if ::ActiveRecord::Base.connection.respond_to?(:increment_open_transactions)
      ::ActiveRecord::Base.connection.increment_open_transactions
    else
      ::ActiveRecord::Base.send :increment_open_transactions
    end
    ::ActiveRecord::Base.connection.begin_db_transaction
  end
  
  $main.After do
    ::ActiveRecord::Base.connection.rollback_db_transaction
    if ::ActiveRecord::Base.connection.respond_to?(:decrement_open_transactions)
      ::ActiveRecord::Base.connection.decrement_open_transactions
    else
      ::ActiveRecord::Base.send :decrement_open_transactions
    end
  end
end