test_after_commit 1.1.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 30a9eabfded03c293fa14ff97edb56f425d31dbd
4
- data.tar.gz: 3a7e41278fd92ea6d651ab5f403e9a0f815e78e6
2
+ SHA256:
3
+ metadata.gz: 9e954a2092e6459d8aa847d25003d59a5e1e9585a49a1adac385bdfe53be73d7
4
+ data.tar.gz: 8ba8118b026b6ef014ab6a4193b3f9a6929ec565bd6c6f6d84136eaea0cbf97a
5
5
  SHA512:
6
- metadata.gz: ba3847813fa7faaa404808edd1f37a83ba61b071f7ad190d29f5ae78db3acef1a366e33af11efa449f8342c4667c5b018a62a2dfb34f8c4b038ed09990da3200
7
- data.tar.gz: 4441dcee58cac193958a6c421d499e1462a6f05fd285176ee25743b8a428fcaa64aa82782d4cb5cfc46f70b3ea55e7820880e0be2504e4126897ad54417a6900
6
+ metadata.gz: 606b5057593a1299bfa01093635b6111b2eca9b1c58fe979caaac2492fc8ae4c2aa0dbe1cd2e3dd39c21f0bff13e4644d14d9aad48aa93e267a5e673b8bb5128
7
+ data.tar.gz: 42502f70417505aba857cbe8fd8e175ec737bc6923ecfe65af8e8cc706ae526c3b5c316fce1d7483b7fd2f4942cfa83a9b99039349ab0f82804159b22385c3c2
data/Readme.md CHANGED
@@ -71,6 +71,7 @@ Inspired by https://gist.github.com/1305285
71
71
  - [Brian Palmer](https://github.com/codekitchen)
72
72
  - [Oleg Dashevskii](https://github.com/be9)
73
73
  - [Jonathan Spies](https://github.com/jspies)
74
+ - [Nick Sieger](https://github.com/nicksieger)
74
75
 
75
76
  [Michael Grosser](http://grosser.it)<br/>
76
77
  michael@grosser.it<br/>
@@ -1,6 +1,9 @@
1
1
  module TestAfterCommit::DatabaseStatements
2
2
  def transaction(*)
3
3
  @test_open_transactions ||= 0
4
+ skip_emulation = ActiveRecord::Base.connection.open_transactions.zero?
5
+ run_callbacks = false
6
+ result = nil
4
7
 
5
8
  super do
6
9
  begin
@@ -13,20 +16,19 @@ module TestAfterCommit::DatabaseStatements
13
16
  rolled_back = true
14
17
  raise
15
18
  ensure
16
- begin
17
- @test_open_transactions -= 1
18
- if @test_open_transactions == 0 && !rolled_back
19
- if TestAfterCommit.enabled
20
- test_commit_records
21
- elsif ActiveRecord::VERSION::MAJOR == 3
22
- @_current_transaction_records.clear
23
- end
19
+ @test_open_transactions -= 1
20
+ if @test_open_transactions == 0 && !rolled_back && !skip_emulation
21
+ if TestAfterCommit.enabled
22
+ run_callbacks = true
23
+ elsif ActiveRecord::VERSION::MAJOR == 3
24
+ @_current_transaction_records.clear
24
25
  end
25
- ensure
26
- result
27
26
  end
28
27
  end
29
28
  end
29
+ ensure
30
+ test_commit_records if run_callbacks
31
+ result
30
32
  end
31
33
 
32
34
  def test_commit_records
@@ -1,3 +1,3 @@
1
1
  module TestAfterCommit
2
- VERSION = '1.1.0'
2
+ VERSION = '1.2.1'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test_after_commit
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Grosser
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-06-20 00:00:00.000000000 Z
11
+ date: 2018-11-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -17,6 +17,9 @@ dependencies:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '3.2'
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '5.0'
20
23
  type: :runtime
21
24
  prerelease: false
22
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -24,6 +27,9 @@ dependencies:
24
27
  - - ">="
25
28
  - !ruby/object:Gem::Version
26
29
  version: '3.2'
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '5.0'
27
33
  - !ruby/object:Gem::Dependency
28
34
  name: wwtd
29
35
  requirement: !ruby/object:Gem::Requirement
@@ -126,7 +132,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
126
132
  version: '0'
127
133
  requirements: []
128
134
  rubyforge_project:
129
- rubygems_version: 2.4.5.1
135
+ rubygems_version: 2.7.6
130
136
  signing_key:
131
137
  specification_version: 4
132
138
  summary: makes after_commit callbacks testable in Rails 3+ with transactional_fixtures