after_transaction_commit 1.1.2 → 2.0.0

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
2
  SHA1:
3
- metadata.gz: f1c7c34764bd9e999d94e171a49d5c30770ec7a3
4
- data.tar.gz: 45fd10cf2ad53b268774ce368fc52131a3161ab6
3
+ metadata.gz: 63f1cd01dccbe67715506366d7614ab1a3c371c9
4
+ data.tar.gz: b5680b26a3c4dc8598e9e77bb22de844138889c2
5
5
  SHA512:
6
- metadata.gz: d42d9aa4f572b0883d1093076ca9b806671263b5e6ae4b66e02f6d37b7c9d608b1376da7759b1bdc85601b8cc92e545ef29aa93cd42c0a315651ef92923e8220
7
- data.tar.gz: 7df1363b174f0848d9b2d40234ec580c6172fa2ae66db672980f81a7d2965994c89cc0190818761a42437f0eac7a9bce153d9e4c64aed80c330ada6f5dacbec2
6
+ metadata.gz: e9842667116d5471a281863ddd689aa7357f28010e144a3ed3341d6907319ac09cee50445c7735f060000938a82ed3eb38ddff2228401c53be8e481be7f1e368
7
+ data.tar.gz: a05ca303f7121c54fbdd3d6776d1668a6b7677bc8864fc76af4d3a5506454dd61d4f8ad96ec277314e1f8efa62ed351368f0983dfbd89d1679057e4b12d96693
data/.gitignore CHANGED
@@ -1,10 +1,12 @@
1
1
  /.bundle/
2
+ /.byebug_history
2
3
  /.yardoc
3
4
  /Gemfile.lock
4
5
  /_yardoc/
5
6
  /coverage/
6
7
  /doc/
7
8
  /pkg/
9
+ /spec/gemfiles/*.lock
8
10
  /spec/reports/
9
11
  /tmp/
10
12
  *.bundle
@@ -2,21 +2,9 @@ bundler_args: ""
2
2
  language: ruby
3
3
 
4
4
  gemfile:
5
- - spec/gemfiles/40.gemfile
6
- - spec/gemfiles/41.gemfile
7
- - spec/gemfiles/42.gemfile
8
5
  - spec/gemfiles/50.gemfile
6
+ - spec/gemfiles/51.gemfile
9
7
  rvm:
10
- - 2.1.10
11
- - 2.2.5
12
- - 2.3.1
13
- env:
14
- - REAL=1
15
- - TEST=1
16
-
17
- matrix:
18
- exclude:
19
- - gemfile: spec/gemfiles/50.gemfile
20
- rvm: 2.1.10
8
+ - 2.4.1
21
9
 
22
10
  script: bundle exec rake spec
data/Gemfile CHANGED
@@ -1,8 +1,4 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- group :test do
4
- gem 'test_after_commit', git: 'https://github.com/codekitchen/test_after_commit.git', branch: 'nested-commit-callbacks'
5
- end
6
-
7
3
  # Specify your gem's dependencies in after_transaction_commit.gemspec
8
4
  gemspec
@@ -19,7 +19,7 @@ Gem::Specification.new do |spec|
19
19
 
20
20
  spec.required_ruby_version = ">= 2.1"
21
21
 
22
- spec.add_dependency "activerecord", ">= 4.0"
22
+ spec.add_dependency "activerecord", ">= 5.0"
23
23
 
24
24
  spec.add_development_dependency "bump"
25
25
  spec.add_development_dependency "bundler", "~> 1.11"
@@ -1,19 +1,11 @@
1
1
  module AfterTransactionCommit
2
2
  end
3
3
 
4
- unless ActiveRecord::VERSION::MAJOR.between? 4, 5
5
- raise "Unsupported Rails version"
6
- end
7
-
8
4
  require "after_transaction_commit/version"
9
5
  require "after_transaction_commit/database_statements"
10
6
  require "after_transaction_commit/transaction"
11
7
 
12
8
  # force autoloading if necessary
13
- _ = ActiveRecord::ConnectionAdapters::RealTransaction
14
-
15
- klass = defined?(ActiveRecord::ConnectionAdapters::OpenTransaction) ?
16
- ActiveRecord::ConnectionAdapters::OpenTransaction : # rails < 4.2
17
- ActiveRecord::ConnectionAdapters::Transaction # rails >= 4.2
18
-
19
- klass.prepend AfterTransactionCommit::Transaction
9
+ ActiveRecord::ConnectionAdapters::RealTransaction
10
+ ActiveRecord::ConnectionAdapters::Transaction.prepend(AfterTransactionCommit::Transaction)
11
+ ActiveRecord::ConnectionAdapters::TransactionManager.include(AfterTransactionCommit::TransactionManager)
@@ -1,47 +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
- if !_in_transaction_for_callbacks?
4
- block.call
5
- else
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
- end
24
-
25
- def _remove_after_transaction_commit_callbacks
26
- @after_transaction_commit = [] if @after_transaction_commit
27
- end
28
-
29
- if ActiveRecord.version < Gem::Version.new('5')
30
- def _transaction_test_mode?
31
- defined?(TestAfterCommit)
32
- end
33
-
34
- def _in_transaction_for_callbacks?
35
- txn = _transaction_test_mode? ? _test_open_transactions : open_transactions
36
- txn > 0
37
- end
38
-
39
- def _test_open_transactions
40
- @test_open_transactions || 0
41
- end
42
- else
43
- def _in_transaction_for_callbacks?
44
- current_transaction.joinable?
45
- end
5
+ transaction = transaction_manager.outermost_joinable_transaction
6
+ return block.call unless transaction
7
+ transaction.after_transaction_commit(&block)
46
8
  end
47
9
  end
@@ -1,25 +1,24 @@
1
1
  module AfterTransactionCommit
2
2
  module Transaction
3
- if ActiveRecord.version < Gem::Version.new('5')
4
- def rollback_records
5
- super
6
- if self.is_a?(ActiveRecord::ConnectionAdapters::RealTransaction) ||
7
- (connection.send(:_transaction_test_mode?) && connection.send(:_test_open_transactions) == 0)
8
- connection.send(:_remove_after_transaction_commit_callbacks)
9
- end
10
- end
11
- else
12
- def rollback_records
13
- super
14
- unless connection.current_transaction.joinable?
15
- connection.send(:_remove_after_transaction_commit_callbacks)
16
- end
17
- end
3
+ def after_transaction_commit(&block)
4
+ @after_transaction_commit ||= []
5
+ @after_transaction_commit << block
18
6
  end
19
7
 
20
8
  def commit_records
21
9
  super
22
- connection.send(:_run_after_transaction_commit_callbacks)
10
+ @after_transaction_commit.each(&:call) if @after_transaction_commit.present?
11
+ end
12
+ end
13
+
14
+ module TransactionManager
15
+ def outermost_joinable_transaction
16
+ last_t = nil
17
+ @stack.reverse_each do |t|
18
+ return last_t unless t.joinable?
19
+ last_t = t
20
+ end
21
+ last_t if last_t&.joinable?
23
22
  end
24
23
  end
25
24
  end
@@ -1,3 +1,3 @@
1
1
  module AfterTransactionCommit
2
- VERSION = "1.1.2"
2
+ VERSION = "2.0.0"
3
3
  end
@@ -21,7 +21,6 @@ describe AfterTransactionCommit do
21
21
  end
22
22
 
23
23
  it "immediately executes the callback when in a non-joinable transaction" do
24
- skip "Rails 5 only" if ActiveRecord.version < Gem::Version.new('5')
25
24
  a = 0
26
25
  User.connection.transaction(joinable: false) do
27
26
  User.connection.after_transaction_commit { a += 1 }
@@ -31,7 +30,6 @@ describe AfterTransactionCommit do
31
30
  end
32
31
 
33
32
  it "executes the callback when a nested transaction commits within a non-joinable transaction" do
34
- skip "Rails 5 only" if ActiveRecord.version < Gem::Version.new('5')
35
33
  a = 0
36
34
  User.connection.transaction(joinable: false) do
37
35
  User.connection.transaction do
@@ -67,7 +65,6 @@ describe AfterTransactionCommit do
67
65
  end
68
66
 
69
67
  it "should execute the callback immediately if created during commit callback" do
70
- skip "Pre-Rails 5 only" if !ENV['REAL'] && ActiveRecord.version >= Gem::Version.new('5')
71
68
  a = 0
72
69
  User.connection.transaction do
73
70
  User.connection.after_transaction_commit { User.connection.after_transaction_commit { a += 1 } }
@@ -96,4 +93,17 @@ describe AfterTransactionCommit do
96
93
  end
97
94
  expect(a).to eql 1
98
95
  end
96
+
97
+ it "doesn't call callbacks after a requires_new transaction" do
98
+ a = 0
99
+ User.connection.transaction do
100
+ User.connection.transaction(:requires_new => true) do
101
+ User.connection.after_transaction_commit do
102
+ a += 1
103
+ end
104
+ end
105
+ expect(a).to eq 0
106
+ end
107
+ expect(a).to eql 1
108
+ end
99
109
  end
@@ -3,7 +3,3 @@ source "https://rubygems.org"
3
3
  gemspec :path=>"../../"
4
4
 
5
5
  gem "activerecord", "~> 5.0.0"
6
-
7
- group :test do
8
- gem 'test_after_commit', git: 'https://github.com/codekitchen/test_after_commit.git', branch: 'nested-commit-callbacks'
9
- end
@@ -0,0 +1,5 @@
1
+ source "https://rubygems.org"
2
+
3
+ gemspec :path=>"../../"
4
+
5
+ gem "activerecord", "~> 5.1.0"
@@ -1,26 +1,5 @@
1
1
  $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
- require File.expand_path '../database', __FILE__
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
- connection = ActiveRecord::Base.connection_handler.connection_pool_list.map(&:connection).first
19
- connection.begin_transaction :joinable => false
20
-
21
- example.call
22
-
23
- connection.rollback_db_transaction
24
- end
25
- end
26
- 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.1.2
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Palmer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-05-23 00:00:00.000000000 Z
11
+ date: 2017-08-14 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: '4.0'
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: '4.0'
26
+ version: '5.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: bump
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -144,14 +144,8 @@ files:
144
144
  - lib/after_transaction_commit/version.rb
145
145
  - spec/after_transaction_commit_spec.rb
146
146
  - spec/database.rb
147
- - spec/gemfiles/40.gemfile
148
- - spec/gemfiles/40.gemfile.lock
149
- - spec/gemfiles/41.gemfile
150
- - spec/gemfiles/41.gemfile.lock
151
- - spec/gemfiles/42.gemfile
152
- - spec/gemfiles/42.gemfile.lock
153
147
  - spec/gemfiles/50.gemfile
154
- - spec/gemfiles/50.gemfile.lock
148
+ - spec/gemfiles/51.gemfile
155
149
  - spec/spec_helper.rb
156
150
  homepage: https://github.com/instructure/after_transaction_commit
157
151
  licenses:
@@ -180,12 +174,6 @@ summary: ActiveRecord::Base.connection.after_transaction_commit { ... }
180
174
  test_files:
181
175
  - spec/after_transaction_commit_spec.rb
182
176
  - spec/database.rb
183
- - spec/gemfiles/40.gemfile
184
- - spec/gemfiles/40.gemfile.lock
185
- - spec/gemfiles/41.gemfile
186
- - spec/gemfiles/41.gemfile.lock
187
- - spec/gemfiles/42.gemfile
188
- - spec/gemfiles/42.gemfile.lock
189
177
  - spec/gemfiles/50.gemfile
190
- - spec/gemfiles/50.gemfile.lock
178
+ - spec/gemfiles/51.gemfile
191
179
  - spec/spec_helper.rb
@@ -1,9 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gemspec :path=>"../../"
4
-
5
- gem "activerecord", "~> 4.0.0"
6
-
7
- group :test do
8
- gem 'test_after_commit', git: 'https://github.com/codekitchen/test_after_commit.git', branch: 'nested-commit-callbacks'
9
- end
@@ -1,74 +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.1.0)
13
- activerecord (>= 4.0)
14
-
15
- GEM
16
- remote: https://rubygems.org/
17
- specs:
18
- activemodel (4.0.13)
19
- activesupport (= 4.0.13)
20
- builder (~> 3.1.0)
21
- activerecord (4.0.13)
22
- activemodel (= 4.0.13)
23
- activerecord-deprecated_finders (~> 1.0.2)
24
- activesupport (= 4.0.13)
25
- arel (~> 4.0.0)
26
- activerecord-deprecated_finders (1.0.4)
27
- activesupport (4.0.13)
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
- bump (0.5.3)
36
- diff-lcs (1.2.5)
37
- i18n (0.7.0)
38
- minitest (4.7.5)
39
- multi_json (1.12.1)
40
- rake (11.3.0)
41
- rspec (3.5.0)
42
- rspec-core (~> 3.5.0)
43
- rspec-expectations (~> 3.5.0)
44
- rspec-mocks (~> 3.5.0)
45
- rspec-core (3.5.4)
46
- rspec-support (~> 3.5.0)
47
- rspec-expectations (3.5.0)
48
- diff-lcs (>= 1.2.0, < 2.0)
49
- rspec-support (~> 3.5.0)
50
- rspec-mocks (3.5.0)
51
- diff-lcs (>= 1.2.0, < 2.0)
52
- rspec-support (~> 3.5.0)
53
- rspec-support (3.5.0)
54
- sqlite3 (1.3.11)
55
- thread_safe (0.3.5)
56
- tzinfo (0.3.51)
57
- wwtd (1.3.0)
58
-
59
- PLATFORMS
60
- ruby
61
-
62
- DEPENDENCIES
63
- activerecord (~> 4.0.0)
64
- after_transaction_commit!
65
- bump
66
- bundler (~> 1.11)
67
- rake (~> 11.0)
68
- rspec
69
- sqlite3
70
- test_after_commit!
71
- wwtd
72
-
73
- BUNDLED WITH
74
- 1.14.3
@@ -1,9 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gemspec :path=>"../../"
4
-
5
- gem "activerecord", "~> 4.1.0"
6
-
7
- group :test do
8
- gem 'test_after_commit', git: 'https://github.com/codekitchen/test_after_commit.git', branch: 'nested-commit-callbacks'
9
- end
@@ -1,73 +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.1.0)
13
- activerecord (>= 4.0)
14
-
15
- GEM
16
- remote: https://rubygems.org/
17
- specs:
18
- activemodel (4.1.16)
19
- activesupport (= 4.1.16)
20
- builder (~> 3.1)
21
- activerecord (4.1.16)
22
- activemodel (= 4.1.16)
23
- activesupport (= 4.1.16)
24
- arel (~> 5.0.0)
25
- activesupport (4.1.16)
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
- bump (0.5.3)
34
- diff-lcs (1.2.5)
35
- i18n (0.7.0)
36
- json (1.8.3)
37
- minitest (5.9.1)
38
- rake (11.3.0)
39
- rspec (3.5.0)
40
- rspec-core (~> 3.5.0)
41
- rspec-expectations (~> 3.5.0)
42
- rspec-mocks (~> 3.5.0)
43
- rspec-core (3.5.4)
44
- rspec-support (~> 3.5.0)
45
- rspec-expectations (3.5.0)
46
- diff-lcs (>= 1.2.0, < 2.0)
47
- rspec-support (~> 3.5.0)
48
- rspec-mocks (3.5.0)
49
- diff-lcs (>= 1.2.0, < 2.0)
50
- rspec-support (~> 3.5.0)
51
- rspec-support (3.5.0)
52
- sqlite3 (1.3.11)
53
- thread_safe (0.3.5)
54
- tzinfo (1.2.2)
55
- thread_safe (~> 0.1)
56
- wwtd (1.3.0)
57
-
58
- PLATFORMS
59
- ruby
60
-
61
- DEPENDENCIES
62
- activerecord (~> 4.1.0)
63
- after_transaction_commit!
64
- bump
65
- bundler (~> 1.11)
66
- rake (~> 11.0)
67
- rspec
68
- sqlite3
69
- test_after_commit!
70
- wwtd
71
-
72
- BUNDLED WITH
73
- 1.14.3
@@ -1,9 +0,0 @@
1
- source "https://rubygems.org"
2
-
3
- gemspec :path=>"../../"
4
-
5
- gem "activerecord", "~> 4.2.0.beta2"
6
-
7
- group :test do
8
- gem 'test_after_commit', git: 'https://github.com/codekitchen/test_after_commit.git', branch: 'nested-commit-callbacks'
9
- end
@@ -1,73 +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.1.1)
13
- activerecord (>= 4.0)
14
-
15
- GEM
16
- remote: https://rubygems.org/
17
- specs:
18
- activemodel (4.2.8)
19
- activesupport (= 4.2.8)
20
- builder (~> 3.1)
21
- activerecord (4.2.8)
22
- activemodel (= 4.2.8)
23
- activesupport (= 4.2.8)
24
- arel (~> 6.0)
25
- activesupport (4.2.8)
26
- i18n (~> 0.7)
27
- minitest (~> 5.1)
28
- thread_safe (~> 0.3, >= 0.3.4)
29
- tzinfo (~> 1.1)
30
- arel (6.0.4)
31
- builder (3.2.3)
32
- bump (0.5.3)
33
- byebug (9.0.6)
34
- diff-lcs (1.3)
35
- i18n (0.8.1)
36
- minitest (5.10.2)
37
- rake (11.3.0)
38
- rspec (3.6.0)
39
- rspec-core (~> 3.6.0)
40
- rspec-expectations (~> 3.6.0)
41
- rspec-mocks (~> 3.6.0)
42
- rspec-core (3.6.0)
43
- rspec-support (~> 3.6.0)
44
- rspec-expectations (3.6.0)
45
- diff-lcs (>= 1.2.0, < 2.0)
46
- rspec-support (~> 3.6.0)
47
- rspec-mocks (3.6.0)
48
- diff-lcs (>= 1.2.0, < 2.0)
49
- rspec-support (~> 3.6.0)
50
- rspec-support (3.6.0)
51
- sqlite3 (1.3.13)
52
- thread_safe (0.3.6)
53
- tzinfo (1.2.3)
54
- thread_safe (~> 0.1)
55
- wwtd (1.3.0)
56
-
57
- PLATFORMS
58
- ruby
59
-
60
- DEPENDENCIES
61
- activerecord (~> 4.2.0.beta2)
62
- after_transaction_commit!
63
- bump
64
- bundler (~> 1.11)
65
- byebug
66
- rake (~> 11.0)
67
- rspec
68
- sqlite3
69
- test_after_commit!
70
- wwtd
71
-
72
- BUNDLED WITH
73
- 1.14.6
@@ -1,70 +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.1.0)
13
- activerecord (>= 4.0)
14
-
15
- GEM
16
- remote: https://rubygems.org/
17
- specs:
18
- activemodel (5.0.0.1)
19
- activesupport (= 5.0.0.1)
20
- activerecord (5.0.0.1)
21
- activemodel (= 5.0.0.1)
22
- activesupport (= 5.0.0.1)
23
- arel (~> 7.0)
24
- activesupport (5.0.0.1)
25
- concurrent-ruby (~> 1.0, >= 1.0.2)
26
- i18n (~> 0.7)
27
- minitest (~> 5.1)
28
- tzinfo (~> 1.1)
29
- arel (7.1.3)
30
- bump (0.5.3)
31
- concurrent-ruby (1.0.2)
32
- diff-lcs (1.2.5)
33
- i18n (0.7.0)
34
- minitest (5.9.1)
35
- rake (11.3.0)
36
- rspec (3.5.0)
37
- rspec-core (~> 3.5.0)
38
- rspec-expectations (~> 3.5.0)
39
- rspec-mocks (~> 3.5.0)
40
- rspec-core (3.5.4)
41
- rspec-support (~> 3.5.0)
42
- rspec-expectations (3.5.0)
43
- diff-lcs (>= 1.2.0, < 2.0)
44
- rspec-support (~> 3.5.0)
45
- rspec-mocks (3.5.0)
46
- diff-lcs (>= 1.2.0, < 2.0)
47
- rspec-support (~> 3.5.0)
48
- rspec-support (3.5.0)
49
- sqlite3 (1.3.11)
50
- thread_safe (0.3.5)
51
- tzinfo (1.2.2)
52
- thread_safe (~> 0.1)
53
- wwtd (1.3.0)
54
-
55
- PLATFORMS
56
- ruby
57
-
58
- DEPENDENCIES
59
- activerecord (~> 5.0.0)
60
- after_transaction_commit!
61
- bump
62
- bundler (~> 1.11)
63
- rake (~> 11.0)
64
- rspec
65
- sqlite3
66
- test_after_commit!
67
- wwtd
68
-
69
- BUNDLED WITH
70
- 1.14.3