transactional-factories 0.3.0 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
data/README.rdoc CHANGED
@@ -30,6 +30,17 @@ transactional-factories provides self.setup and self.teardown callbacks that are
30
30
  end
31
31
  end
32
32
 
33
+ === Multiple Database Connections
34
+
35
+ If you have an application that connects to multiple databases, you will need to tell transactional-factories which connection to use when creating a transaction. This is done at with another class-level callback: TestCase.transaction_class. E.g.,
36
+
37
+ class MyModelTest < Test::Unit::TestCase
38
+ def self.transaction_class
39
+ # Default is ActiveRecord::Base
40
+ ModelWithDifferentDatabaseConnection
41
+ end
42
+ end
43
+
33
44
  === Dependencies
34
45
 
35
46
  <b>nested transactional db</b> - You must be using a database that supports nested transactions or savepoints. I've only tested on MySQL. Would be nice to have someone confirm this on PostgreSQL.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.0
1
+ 0.4.0
@@ -10,13 +10,14 @@ module TransactionalFactories
10
10
  raise TransactionalFixturesEnabled, 'transactional-factories does not work with transactional fixtures. Please set use_transactional_fixtures = false.'
11
11
  end
12
12
  end
13
+ transaction_class = testcase.class.respond_to?(:transaction_class) ? testcase.class.transaction_class : ActiveRecord::Base
13
14
  if @tests.any? { |testcase| testcase.method_name != 'default_test' }
14
- ActiveRecord::Base.transaction(:requires_new => true) do
15
+ transaction_class.transaction(:requires_new => true) do
15
16
  testcase.class.setup if testcase
16
17
  begin
17
18
  yield(STARTED, name)
18
19
  @tests.each do |test|
19
- ActiveRecord::Base.transaction(:requires_new => true) do
20
+ transaction_class.transaction(:requires_new => true) do
20
21
  test.run(result, &progress_block)
21
22
  raise ActiveRecord::Rollback
22
23
  end
metadata CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
4
4
  prerelease: false
5
5
  segments:
6
6
  - 0
7
- - 3
7
+ - 4
8
8
  - 0
9
- version: 0.3.0
9
+ version: 0.4.0
10
10
  platform: ruby
11
11
  authors:
12
12
  - Andrew Carpenter
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-10-13 00:00:00 -07:00
18
+ date: 2010-10-29 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency