after_transaction_commit 1.0.1 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.gitignore +2 -0
- data/.travis.yml +5 -12
- data/Gemfile +0 -4
- data/after_transaction_commit.gemspec +6 -3
- data/lib/after_transaction_commit.rb +4 -8
- data/lib/after_transaction_commit/database_statements.rb +5 -39
- data/lib/after_transaction_commit/transaction.rb +21 -0
- data/lib/after_transaction_commit/version.rb +1 -1
- data/spec/after_transaction_commit_spec.rb +59 -0
- data/spec/gemfiles/50.gemfile +5 -0
- data/spec/gemfiles/51.gemfile +5 -0
- data/spec/spec_helper.rb +2 -33
- metadata +33 -33
- data/lib/after_transaction_commit/rails3.rb +0 -16
- data/lib/after_transaction_commit/rails4.rb +0 -23
- data/spec/gemfiles/32.gemfile +0 -9
- data/spec/gemfiles/32.gemfile.lock +0 -62
- data/spec/gemfiles/40.gemfile +0 -9
- data/spec/gemfiles/40.gemfile.lock +0 -68
- data/spec/gemfiles/41.gemfile +0 -9
- data/spec/gemfiles/41.gemfile.lock +0 -67
- data/spec/gemfiles/42.gemfile +0 -9
- data/spec/gemfiles/42.gemfile.lock +0 -67
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 20d35571092e0e740743873aa021004cc975761ece8ec9b09ca6032e129f3ae6
|
4
|
+
data.tar.gz: 605ca6c85f2bb022af1293e2a3628f7835c8cdd7a2019af97f701adbbc896e5e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4f4596c9ca8547334cfdcce3e223e975852ccae179138f213bcd37fe638f0b80b0db05648fb3aed942fe4e1b82da488b75488d7d4b54338b3cae30390333a210
|
7
|
+
data.tar.gz: 90a1974ab88def8e409fbc7b3e7f39d7ddd43a9d2de99297ce6aa908feab9e050b23eefb1ab7ada7ee60770d6f076c976d51219baa3c1b492a51f21b937d8847
|
data/.gitignore
CHANGED
data/.travis.yml
CHANGED
@@ -1,17 +1,10 @@
|
|
1
1
|
bundler_args: ""
|
2
2
|
language: ruby
|
3
|
+
|
3
4
|
gemfile:
|
4
|
-
- spec/gemfiles/
|
5
|
-
- spec/gemfiles/
|
6
|
-
- spec/gemfiles/41.gemfile
|
7
|
-
- spec/gemfiles/42.gemfile
|
5
|
+
- spec/gemfiles/50.gemfile
|
6
|
+
- spec/gemfiles/51.gemfile
|
8
7
|
rvm:
|
9
|
-
-
|
10
|
-
|
11
|
-
- 2.1.3
|
12
|
-
env:
|
13
|
-
- REAL=1
|
14
|
-
- TEST=1
|
15
|
-
matrix:
|
16
|
-
exclude:
|
8
|
+
- 2.4.1
|
9
|
+
|
17
10
|
script: bundle exec rake spec
|
data/Gemfile
CHANGED
@@ -17,11 +17,14 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
18
18
|
spec.require_paths = ["lib"]
|
19
19
|
|
20
|
-
spec.
|
20
|
+
spec.required_ruby_version = ">= 2.1"
|
21
|
+
|
22
|
+
spec.add_dependency "activerecord", ">= 5.0"
|
21
23
|
|
22
24
|
spec.add_development_dependency "bump"
|
23
|
-
spec.add_development_dependency "bundler", "~> 1.
|
24
|
-
spec.add_development_dependency "
|
25
|
+
spec.add_development_dependency "bundler", "~> 1.11"
|
26
|
+
spec.add_development_dependency "byebug"
|
27
|
+
spec.add_development_dependency "rake", "~> 11.0"
|
25
28
|
spec.add_development_dependency "rspec"
|
26
29
|
spec.add_development_dependency "sqlite3"
|
27
30
|
spec.add_development_dependency "wwtd"
|
@@ -3,12 +3,8 @@ end
|
|
3
3
|
|
4
4
|
require "after_transaction_commit/version"
|
5
5
|
require "after_transaction_commit/database_statements"
|
6
|
+
require "after_transaction_commit/transaction"
|
6
7
|
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
when 4
|
11
|
-
require "after_transaction_commit/rails4"
|
12
|
-
else
|
13
|
-
raise "Unsupported rails version"
|
14
|
-
end
|
8
|
+
# force autoloading if necessary
|
9
|
+
ActiveRecord::ConnectionAdapters::RealTransaction
|
10
|
+
ActiveRecord::ConnectionAdapters::Transaction.prepend(AfterTransactionCommit::Transaction)
|
@@ -1,43 +1,9 @@
|
|
1
|
+
# this is still a class eval because it has already been included into other
|
2
|
+
# classes, so if we include into it, the other classes won't get this method
|
1
3
|
ActiveRecord::ConnectionAdapters::DatabaseStatements.class_eval do
|
2
4
|
def after_transaction_commit(&block)
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
@after_transaction_commit ||= []
|
7
|
-
@after_transaction_commit << block
|
8
|
-
end
|
9
|
-
end
|
10
|
-
|
11
|
-
private
|
12
|
-
|
13
|
-
def _run_after_transaction_commit_callbacks
|
14
|
-
if @after_transaction_commit.present?
|
15
|
-
# the callback could trigger a new transaction on this connection,
|
16
|
-
# and leaving the callbacks in @after_transaction_commit could put us in an
|
17
|
-
# infinite loop.
|
18
|
-
# so we store off the callbacks to a local var here.
|
19
|
-
callbacks = @after_transaction_commit
|
20
|
-
@after_transaction_commit = []
|
21
|
-
callbacks.each { |cb| cb.call() }
|
22
|
-
end
|
23
|
-
ensure
|
24
|
-
@after_transaction_commit = [] if @after_transaction_commit
|
25
|
-
end
|
26
|
-
|
27
|
-
def _remove_after_transaction_commit_callbacks
|
28
|
-
@after_transaction_commit = [] if @after_transaction_commit
|
29
|
-
end
|
30
|
-
|
31
|
-
def _transaction_test_mode?
|
32
|
-
defined?(TestAfterCommit)
|
33
|
-
end
|
34
|
-
|
35
|
-
def _in_transaction_for_callbacks?
|
36
|
-
txn = _transaction_test_mode? ? _test_open_transactions : open_transactions
|
37
|
-
txn > 0
|
38
|
-
end
|
39
|
-
|
40
|
-
def _test_open_transactions
|
41
|
-
@test_open_transactions || 0
|
5
|
+
transaction = transaction_manager.current_transaction
|
6
|
+
return block.call unless transaction.joinable?
|
7
|
+
transaction.add_after_commit(block)
|
42
8
|
end
|
43
9
|
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
module AfterTransactionCommit
|
2
|
+
module Transaction
|
3
|
+
def initialize(*)
|
4
|
+
super
|
5
|
+
@after_commit_blocks = []
|
6
|
+
end
|
7
|
+
|
8
|
+
def add_after_commit(block)
|
9
|
+
@after_commit_blocks << block
|
10
|
+
end
|
11
|
+
|
12
|
+
def commit_records
|
13
|
+
super
|
14
|
+
if @run_commit_callbacks
|
15
|
+
@after_commit_blocks.each(&:call)
|
16
|
+
else
|
17
|
+
connection.current_transaction.instance_variable_get(:@after_commit_blocks).concat(@after_commit_blocks)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -20,6 +20,27 @@ describe AfterTransactionCommit do
|
|
20
20
|
expect(a).to eql 1
|
21
21
|
end
|
22
22
|
|
23
|
+
it "immediately executes the callback when in a non-joinable transaction" do
|
24
|
+
a = 0
|
25
|
+
User.connection.transaction(joinable: false) do
|
26
|
+
User.connection.after_transaction_commit { a += 1 }
|
27
|
+
expect(a).to eql 1
|
28
|
+
end
|
29
|
+
expect(a).to eql 1
|
30
|
+
end
|
31
|
+
|
32
|
+
it "executes the callback when a nested transaction commits within a non-joinable transaction" do
|
33
|
+
a = 0
|
34
|
+
User.connection.transaction(joinable: false) do
|
35
|
+
User.connection.transaction do
|
36
|
+
User.connection.after_transaction_commit { a += 1 }
|
37
|
+
expect(a).to eql 0
|
38
|
+
end
|
39
|
+
expect(a).to eql 1
|
40
|
+
end
|
41
|
+
expect(a).to eql 1
|
42
|
+
end
|
43
|
+
|
23
44
|
it "should not execute the callbacks on rollback" do
|
24
45
|
a = 0
|
25
46
|
User.connection.transaction do
|
@@ -60,4 +81,42 @@ describe AfterTransactionCommit do
|
|
60
81
|
end
|
61
82
|
expect(a).to eql 1
|
62
83
|
end
|
84
|
+
|
85
|
+
it "doesn't execute the callback if an intermediate transaction rolls back" do
|
86
|
+
a = 0
|
87
|
+
User.connection.transaction do
|
88
|
+
User.connection.transaction(requires_new: true) do
|
89
|
+
User.connection.transaction(requires_new: true) do
|
90
|
+
User.connection.after_transaction_commit { a += 1 }
|
91
|
+
end
|
92
|
+
raise ActiveRecord::Rollback
|
93
|
+
end
|
94
|
+
end
|
95
|
+
expect(a).to eql 0
|
96
|
+
end
|
97
|
+
|
98
|
+
it "doesn't lose a callback inside a callback inside a nested non-joinable transaction" do
|
99
|
+
a = 0
|
100
|
+
User.connection.transaction do
|
101
|
+
User.connection.transaction(:requires_new => true) do
|
102
|
+
User.connection.after_transaction_commit do
|
103
|
+
User.connection.after_transaction_commit { puts "inner callback"; a += 1 }
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
expect(a).to eql 1
|
108
|
+
end
|
109
|
+
|
110
|
+
it "doesn't call callbacks after a requires_new transaction" do
|
111
|
+
a = 0
|
112
|
+
User.connection.transaction do
|
113
|
+
User.connection.transaction(:requires_new => true) do
|
114
|
+
User.connection.after_transaction_commit do
|
115
|
+
a += 1
|
116
|
+
end
|
117
|
+
end
|
118
|
+
expect(a).to eq 0
|
119
|
+
end
|
120
|
+
expect(a).to eql 1
|
121
|
+
end
|
63
122
|
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,36 +1,5 @@
|
|
1
1
|
$LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
|
2
|
-
|
2
|
+
require_relative "database"
|
3
3
|
|
4
4
|
require 'after_transaction_commit'
|
5
|
-
|
6
|
-
if ENV['REAL']
|
7
|
-
puts 'using real transactions'
|
8
|
-
else
|
9
|
-
puts 'using test-style transactions (use_transactional_fixtures)'
|
10
|
-
require 'test_after_commit'
|
11
|
-
end
|
12
|
-
|
13
|
-
RSpec.configure do |config|
|
14
|
-
unless ENV['REAL']
|
15
|
-
config.around do |example|
|
16
|
-
# open a transaction without using .transaction as activerecord use_transactional_fixtures does
|
17
|
-
# code taken from https://github.com/grosser/test_after_commit/blob/master/spec/spec_helper.rb
|
18
|
-
if ActiveRecord::VERSION::MAJOR > 3
|
19
|
-
connection = ActiveRecord::Base.connection_handler.connection_pool_list.map(&:connection).first
|
20
|
-
connection.begin_transaction :joinable => false
|
21
|
-
else
|
22
|
-
connection = ActiveRecord::Base.connection_handler.connection_pools.values.map(&:connection).first
|
23
|
-
connection.increment_open_transactions
|
24
|
-
connection.transaction_joinable = false
|
25
|
-
connection.begin_db_transaction
|
26
|
-
end
|
27
|
-
|
28
|
-
example.call
|
29
|
-
|
30
|
-
connection.rollback_db_transaction
|
31
|
-
if ActiveRecord::VERSION::MAJOR == 3
|
32
|
-
connection.decrement_open_transactions
|
33
|
-
end
|
34
|
-
end
|
35
|
-
end
|
36
|
-
end
|
5
|
+
require 'byebug'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: after_transaction_commit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Palmer
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-10-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '
|
19
|
+
version: '5.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '
|
26
|
+
version: '5.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bump
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -44,28 +44,42 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: '1.
|
47
|
+
version: '1.11'
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: '1.
|
54
|
+
version: '1.11'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: byebug
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: rake
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
73
|
- - "~>"
|
60
74
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
75
|
+
version: '11.0'
|
62
76
|
type: :development
|
63
77
|
prerelease: false
|
64
78
|
version_requirements: !ruby/object:Gem::Requirement
|
65
79
|
requirements:
|
66
80
|
- - "~>"
|
67
81
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
82
|
+
version: '11.0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
84
|
name: rspec
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,7 +122,7 @@ dependencies:
|
|
108
122
|
- - ">="
|
109
123
|
- !ruby/object:Gem::Version
|
110
124
|
version: '0'
|
111
|
-
description:
|
125
|
+
description:
|
112
126
|
email:
|
113
127
|
- brianp@instructure.com
|
114
128
|
executables: []
|
@@ -126,25 +140,18 @@ files:
|
|
126
140
|
- after_transaction_commit.gemspec
|
127
141
|
- lib/after_transaction_commit.rb
|
128
142
|
- lib/after_transaction_commit/database_statements.rb
|
129
|
-
- lib/after_transaction_commit/
|
130
|
-
- lib/after_transaction_commit/rails4.rb
|
143
|
+
- lib/after_transaction_commit/transaction.rb
|
131
144
|
- lib/after_transaction_commit/version.rb
|
132
145
|
- spec/after_transaction_commit_spec.rb
|
133
146
|
- spec/database.rb
|
134
|
-
- spec/gemfiles/
|
135
|
-
- spec/gemfiles/
|
136
|
-
- spec/gemfiles/40.gemfile
|
137
|
-
- spec/gemfiles/40.gemfile.lock
|
138
|
-
- spec/gemfiles/41.gemfile
|
139
|
-
- spec/gemfiles/41.gemfile.lock
|
140
|
-
- spec/gemfiles/42.gemfile
|
141
|
-
- spec/gemfiles/42.gemfile.lock
|
147
|
+
- spec/gemfiles/50.gemfile
|
148
|
+
- spec/gemfiles/51.gemfile
|
142
149
|
- spec/spec_helper.rb
|
143
150
|
homepage: https://github.com/instructure/after_transaction_commit
|
144
151
|
licenses:
|
145
152
|
- MIT
|
146
153
|
metadata: {}
|
147
|
-
post_install_message:
|
154
|
+
post_install_message:
|
148
155
|
rdoc_options: []
|
149
156
|
require_paths:
|
150
157
|
- lib
|
@@ -152,27 +159,20 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
152
159
|
requirements:
|
153
160
|
- - ">="
|
154
161
|
- !ruby/object:Gem::Version
|
155
|
-
version: '
|
162
|
+
version: '2.1'
|
156
163
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
157
164
|
requirements:
|
158
165
|
- - ">="
|
159
166
|
- !ruby/object:Gem::Version
|
160
167
|
version: '0'
|
161
168
|
requirements: []
|
162
|
-
|
163
|
-
|
164
|
-
signing_key:
|
169
|
+
rubygems_version: 3.1.2
|
170
|
+
signing_key:
|
165
171
|
specification_version: 4
|
166
172
|
summary: ActiveRecord::Base.connection.after_transaction_commit { ... }
|
167
173
|
test_files:
|
168
174
|
- spec/after_transaction_commit_spec.rb
|
169
175
|
- spec/database.rb
|
170
|
-
- spec/gemfiles/
|
171
|
-
- spec/gemfiles/
|
172
|
-
- spec/gemfiles/40.gemfile
|
173
|
-
- spec/gemfiles/40.gemfile.lock
|
174
|
-
- spec/gemfiles/41.gemfile
|
175
|
-
- spec/gemfiles/41.gemfile.lock
|
176
|
-
- spec/gemfiles/42.gemfile
|
177
|
-
- spec/gemfiles/42.gemfile.lock
|
176
|
+
- spec/gemfiles/50.gemfile
|
177
|
+
- spec/gemfiles/51.gemfile
|
178
178
|
- spec/spec_helper.rb
|
@@ -1,16 +0,0 @@
|
|
1
|
-
ActiveRecord::ConnectionAdapters::DatabaseStatements.class_eval do
|
2
|
-
def commit_transaction_records_with_callbacks(*a)
|
3
|
-
commit_transaction_records_without_callbacks(*a)
|
4
|
-
_run_after_transaction_commit_callbacks
|
5
|
-
end
|
6
|
-
|
7
|
-
def rollback_transaction_records_with_callbacks(rollback)
|
8
|
-
rollback_transaction_records_without_callbacks(rollback)
|
9
|
-
if rollback || (_transaction_test_mode? && (@test_open_transactions || 0) == 0)
|
10
|
-
_remove_after_transaction_commit_callbacks
|
11
|
-
end
|
12
|
-
end
|
13
|
-
|
14
|
-
alias_method_chain :commit_transaction_records, :callbacks
|
15
|
-
alias_method_chain :rollback_transaction_records, :callbacks
|
16
|
-
end
|
@@ -1,23 +0,0 @@
|
|
1
|
-
_ = ActiveRecord::ConnectionAdapters::RealTransaction # force autoloading if necessary
|
2
|
-
|
3
|
-
klass = defined?(ActiveRecord::ConnectionAdapters::OpenTransaction) ?
|
4
|
-
ActiveRecord::ConnectionAdapters::OpenTransaction : # rails < 4.2
|
5
|
-
ActiveRecord::ConnectionAdapters::Transaction # rails >= 4.2
|
6
|
-
|
7
|
-
klass.class_eval do
|
8
|
-
def rollback_records_with_callbacks
|
9
|
-
rollback_records_without_callbacks
|
10
|
-
if self.is_a?(ActiveRecord::ConnectionAdapters::RealTransaction) ||
|
11
|
-
(connection.send(:_transaction_test_mode?) && connection.send(:_test_open_transactions) == 0)
|
12
|
-
connection.send(:_remove_after_transaction_commit_callbacks)
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
|
-
def commit_records_with_callbacks
|
17
|
-
commit_records_without_callbacks
|
18
|
-
connection.send(:_run_after_transaction_commit_callbacks)
|
19
|
-
end
|
20
|
-
|
21
|
-
alias_method_chain :rollback_records, :callbacks
|
22
|
-
alias_method_chain :commit_records, :callbacks
|
23
|
-
end
|
data/spec/gemfiles/32.gemfile
DELETED
@@ -1,62 +0,0 @@
|
|
1
|
-
GIT
|
2
|
-
remote: https://github.com/codekitchen/test_after_commit.git
|
3
|
-
revision: 899ec8b6c699330d7804f91253e37beb610d097e
|
4
|
-
branch: nested-commit-callbacks
|
5
|
-
specs:
|
6
|
-
test_after_commit (0.3.0)
|
7
|
-
activerecord (>= 3.2)
|
8
|
-
|
9
|
-
PATH
|
10
|
-
remote: ../../
|
11
|
-
specs:
|
12
|
-
after_transaction_commit (1.0.0)
|
13
|
-
activerecord (>= 3.2)
|
14
|
-
|
15
|
-
GEM
|
16
|
-
remote: https://rubygems.org/
|
17
|
-
specs:
|
18
|
-
activemodel (3.2.19)
|
19
|
-
activesupport (= 3.2.19)
|
20
|
-
builder (~> 3.0.0)
|
21
|
-
activerecord (3.2.19)
|
22
|
-
activemodel (= 3.2.19)
|
23
|
-
activesupport (= 3.2.19)
|
24
|
-
arel (~> 3.0.2)
|
25
|
-
tzinfo (~> 0.3.29)
|
26
|
-
activesupport (3.2.19)
|
27
|
-
i18n (~> 0.6, >= 0.6.4)
|
28
|
-
multi_json (~> 1.0)
|
29
|
-
arel (3.0.3)
|
30
|
-
builder (3.0.4)
|
31
|
-
diff-lcs (1.2.5)
|
32
|
-
i18n (0.6.11)
|
33
|
-
multi_json (1.10.1)
|
34
|
-
rake (10.3.2)
|
35
|
-
rspec (3.1.0)
|
36
|
-
rspec-core (~> 3.1.0)
|
37
|
-
rspec-expectations (~> 3.1.0)
|
38
|
-
rspec-mocks (~> 3.1.0)
|
39
|
-
rspec-core (3.1.4)
|
40
|
-
rspec-support (~> 3.1.0)
|
41
|
-
rspec-expectations (3.1.2)
|
42
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
43
|
-
rspec-support (~> 3.1.0)
|
44
|
-
rspec-mocks (3.1.2)
|
45
|
-
rspec-support (~> 3.1.0)
|
46
|
-
rspec-support (3.1.1)
|
47
|
-
sqlite3 (1.3.9)
|
48
|
-
tzinfo (0.3.41)
|
49
|
-
wwtd (0.5.5)
|
50
|
-
|
51
|
-
PLATFORMS
|
52
|
-
ruby
|
53
|
-
|
54
|
-
DEPENDENCIES
|
55
|
-
activerecord (~> 3.2.19)
|
56
|
-
after_transaction_commit!
|
57
|
-
bundler (~> 1.6)
|
58
|
-
rake (~> 10.0)
|
59
|
-
rspec
|
60
|
-
sqlite3
|
61
|
-
test_after_commit!
|
62
|
-
wwtd
|
data/spec/gemfiles/40.gemfile
DELETED
@@ -1,68 +0,0 @@
|
|
1
|
-
GIT
|
2
|
-
remote: https://github.com/codekitchen/test_after_commit.git
|
3
|
-
revision: 899ec8b6c699330d7804f91253e37beb610d097e
|
4
|
-
branch: nested-commit-callbacks
|
5
|
-
specs:
|
6
|
-
test_after_commit (0.3.0)
|
7
|
-
activerecord (>= 3.2)
|
8
|
-
|
9
|
-
PATH
|
10
|
-
remote: ../../
|
11
|
-
specs:
|
12
|
-
after_transaction_commit (1.0.0)
|
13
|
-
activerecord (>= 3.2)
|
14
|
-
|
15
|
-
GEM
|
16
|
-
remote: https://rubygems.org/
|
17
|
-
specs:
|
18
|
-
activemodel (4.0.10)
|
19
|
-
activesupport (= 4.0.10)
|
20
|
-
builder (~> 3.1.0)
|
21
|
-
activerecord (4.0.10)
|
22
|
-
activemodel (= 4.0.10)
|
23
|
-
activerecord-deprecated_finders (~> 1.0.2)
|
24
|
-
activesupport (= 4.0.10)
|
25
|
-
arel (~> 4.0.0)
|
26
|
-
activerecord-deprecated_finders (1.0.3)
|
27
|
-
activesupport (4.0.10)
|
28
|
-
i18n (~> 0.6, >= 0.6.9)
|
29
|
-
minitest (~> 4.2)
|
30
|
-
multi_json (~> 1.3)
|
31
|
-
thread_safe (~> 0.1)
|
32
|
-
tzinfo (~> 0.3.37)
|
33
|
-
arel (4.0.2)
|
34
|
-
builder (3.1.4)
|
35
|
-
diff-lcs (1.2.5)
|
36
|
-
i18n (0.6.11)
|
37
|
-
minitest (4.7.5)
|
38
|
-
multi_json (1.10.1)
|
39
|
-
rake (10.3.2)
|
40
|
-
rspec (3.1.0)
|
41
|
-
rspec-core (~> 3.1.0)
|
42
|
-
rspec-expectations (~> 3.1.0)
|
43
|
-
rspec-mocks (~> 3.1.0)
|
44
|
-
rspec-core (3.1.4)
|
45
|
-
rspec-support (~> 3.1.0)
|
46
|
-
rspec-expectations (3.1.2)
|
47
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
48
|
-
rspec-support (~> 3.1.0)
|
49
|
-
rspec-mocks (3.1.2)
|
50
|
-
rspec-support (~> 3.1.0)
|
51
|
-
rspec-support (3.1.1)
|
52
|
-
sqlite3 (1.3.9)
|
53
|
-
thread_safe (0.3.4)
|
54
|
-
tzinfo (0.3.41)
|
55
|
-
wwtd (0.5.5)
|
56
|
-
|
57
|
-
PLATFORMS
|
58
|
-
ruby
|
59
|
-
|
60
|
-
DEPENDENCIES
|
61
|
-
activerecord (~> 4.0.0)
|
62
|
-
after_transaction_commit!
|
63
|
-
bundler (~> 1.6)
|
64
|
-
rake (~> 10.0)
|
65
|
-
rspec
|
66
|
-
sqlite3
|
67
|
-
test_after_commit!
|
68
|
-
wwtd
|
data/spec/gemfiles/41.gemfile
DELETED
@@ -1,67 +0,0 @@
|
|
1
|
-
GIT
|
2
|
-
remote: https://github.com/codekitchen/test_after_commit.git
|
3
|
-
revision: 899ec8b6c699330d7804f91253e37beb610d097e
|
4
|
-
branch: nested-commit-callbacks
|
5
|
-
specs:
|
6
|
-
test_after_commit (0.3.0)
|
7
|
-
activerecord (>= 3.2)
|
8
|
-
|
9
|
-
PATH
|
10
|
-
remote: ../../
|
11
|
-
specs:
|
12
|
-
after_transaction_commit (1.0.0)
|
13
|
-
activerecord (>= 3.2)
|
14
|
-
|
15
|
-
GEM
|
16
|
-
remote: https://rubygems.org/
|
17
|
-
specs:
|
18
|
-
activemodel (4.1.6)
|
19
|
-
activesupport (= 4.1.6)
|
20
|
-
builder (~> 3.1)
|
21
|
-
activerecord (4.1.6)
|
22
|
-
activemodel (= 4.1.6)
|
23
|
-
activesupport (= 4.1.6)
|
24
|
-
arel (~> 5.0.0)
|
25
|
-
activesupport (4.1.6)
|
26
|
-
i18n (~> 0.6, >= 0.6.9)
|
27
|
-
json (~> 1.7, >= 1.7.7)
|
28
|
-
minitest (~> 5.1)
|
29
|
-
thread_safe (~> 0.1)
|
30
|
-
tzinfo (~> 1.1)
|
31
|
-
arel (5.0.1.20140414130214)
|
32
|
-
builder (3.2.2)
|
33
|
-
diff-lcs (1.2.5)
|
34
|
-
i18n (0.6.11)
|
35
|
-
json (1.8.1)
|
36
|
-
minitest (5.4.1)
|
37
|
-
rake (10.3.2)
|
38
|
-
rspec (3.1.0)
|
39
|
-
rspec-core (~> 3.1.0)
|
40
|
-
rspec-expectations (~> 3.1.0)
|
41
|
-
rspec-mocks (~> 3.1.0)
|
42
|
-
rspec-core (3.1.4)
|
43
|
-
rspec-support (~> 3.1.0)
|
44
|
-
rspec-expectations (3.1.2)
|
45
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
46
|
-
rspec-support (~> 3.1.0)
|
47
|
-
rspec-mocks (3.1.2)
|
48
|
-
rspec-support (~> 3.1.0)
|
49
|
-
rspec-support (3.1.1)
|
50
|
-
sqlite3 (1.3.9)
|
51
|
-
thread_safe (0.3.4)
|
52
|
-
tzinfo (1.2.2)
|
53
|
-
thread_safe (~> 0.1)
|
54
|
-
wwtd (0.5.5)
|
55
|
-
|
56
|
-
PLATFORMS
|
57
|
-
ruby
|
58
|
-
|
59
|
-
DEPENDENCIES
|
60
|
-
activerecord (~> 4.1.0)
|
61
|
-
after_transaction_commit!
|
62
|
-
bundler (~> 1.6)
|
63
|
-
rake (~> 10.0)
|
64
|
-
rspec
|
65
|
-
sqlite3
|
66
|
-
test_after_commit!
|
67
|
-
wwtd
|
data/spec/gemfiles/42.gemfile
DELETED
@@ -1,67 +0,0 @@
|
|
1
|
-
GIT
|
2
|
-
remote: https://github.com/codekitchen/test_after_commit.git
|
3
|
-
revision: 899ec8b6c699330d7804f91253e37beb610d097e
|
4
|
-
branch: nested-commit-callbacks
|
5
|
-
specs:
|
6
|
-
test_after_commit (0.3.0)
|
7
|
-
activerecord (>= 3.2)
|
8
|
-
|
9
|
-
PATH
|
10
|
-
remote: ../../
|
11
|
-
specs:
|
12
|
-
after_transaction_commit (1.0.0)
|
13
|
-
activerecord (>= 3.2)
|
14
|
-
|
15
|
-
GEM
|
16
|
-
remote: https://rubygems.org/
|
17
|
-
specs:
|
18
|
-
activemodel (4.2.0.beta2)
|
19
|
-
activesupport (= 4.2.0.beta2)
|
20
|
-
builder (~> 3.1)
|
21
|
-
activerecord (4.2.0.beta2)
|
22
|
-
activemodel (= 4.2.0.beta2)
|
23
|
-
activesupport (= 4.2.0.beta2)
|
24
|
-
arel (>= 6.0.0.beta1, < 6.1)
|
25
|
-
activesupport (4.2.0.beta2)
|
26
|
-
i18n (>= 0.7.0.beta1, < 0.8)
|
27
|
-
json (~> 1.7, >= 1.7.7)
|
28
|
-
minitest (~> 5.1)
|
29
|
-
thread_safe (~> 0.1)
|
30
|
-
tzinfo (~> 1.1)
|
31
|
-
arel (6.0.0.beta1)
|
32
|
-
builder (3.2.2)
|
33
|
-
diff-lcs (1.2.5)
|
34
|
-
i18n (0.7.0.beta1)
|
35
|
-
json (1.8.1)
|
36
|
-
minitest (5.4.1)
|
37
|
-
rake (10.3.2)
|
38
|
-
rspec (3.1.0)
|
39
|
-
rspec-core (~> 3.1.0)
|
40
|
-
rspec-expectations (~> 3.1.0)
|
41
|
-
rspec-mocks (~> 3.1.0)
|
42
|
-
rspec-core (3.1.4)
|
43
|
-
rspec-support (~> 3.1.0)
|
44
|
-
rspec-expectations (3.1.2)
|
45
|
-
diff-lcs (>= 1.2.0, < 2.0)
|
46
|
-
rspec-support (~> 3.1.0)
|
47
|
-
rspec-mocks (3.1.2)
|
48
|
-
rspec-support (~> 3.1.0)
|
49
|
-
rspec-support (3.1.1)
|
50
|
-
sqlite3 (1.3.9)
|
51
|
-
thread_safe (0.3.4)
|
52
|
-
tzinfo (1.2.2)
|
53
|
-
thread_safe (~> 0.1)
|
54
|
-
wwtd (0.5.5)
|
55
|
-
|
56
|
-
PLATFORMS
|
57
|
-
ruby
|
58
|
-
|
59
|
-
DEPENDENCIES
|
60
|
-
activerecord (~> 4.2.0.beta2)
|
61
|
-
after_transaction_commit!
|
62
|
-
bundler (~> 1.6)
|
63
|
-
rake (~> 10.0)
|
64
|
-
rspec
|
65
|
-
sqlite3
|
66
|
-
test_after_commit!
|
67
|
-
wwtd
|