after_transaction_commit 1.1.2 → 2.0.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 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