after_commit_everywhere 0.1.1 → 0.1.2

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
- SHA256:
3
- metadata.gz: 208fab154c7355e827669ffb9943b8dd9d320ec8096284f4a35bfff45b5d6301
4
- data.tar.gz: 95989a3e5c164f21371ccd8102e2d51ba99c4b303a956c83fde73b733fce700a
2
+ SHA1:
3
+ metadata.gz: 7d629817cd7a0bcb81c8d59d09356e9f1ca30552
4
+ data.tar.gz: a918de48d7fe61eeb40493cd5f9cfe9e8f38e135
5
5
  SHA512:
6
- metadata.gz: 7bdad3cb3d1e23a2ee124e06a43340c0fe6af8737d1e59e276aec40277ffb3cc662b4ec2de7856154dfb914ae69b97ca3aa977c87bf888f60367a5cf86a169a3
7
- data.tar.gz: 7be979c08769da19778405d59d4808b0e402ff5d943c6ed541026056d8eea005fc6df98b41730b04de2f2f188256ade720726dbd09f5c75306faaa875bdd4b8b
6
+ metadata.gz: a0dcd0079e0d01bd55442a45b633f3ffbe628555c3cad8e8f6a8c06323150d0ffb8fa291f49510776ad406b8d1f6dc7254a19c2ba9ba5b10686ff3b3e9fc9467
7
+ data.tar.gz: e0b2bd78ade3dc2b0f280fbbd15f4230d8748f03347e2b022c63fa472edb0ca849edf3c7735b4662f5a7171e59789f2445107787243b19c801cf28f1e343020d
@@ -11,15 +11,22 @@ addons:
11
11
 
12
12
  matrix:
13
13
  include:
14
- - rvm: 2.5.0
14
+ - rvm: 2.5.1
15
+ gemfile: gemfiles/activerecord_4_2.gemfile
16
+ - rvm: 2.5.1
15
17
  gemfile: gemfiles/activerecord_5_0.gemfile
16
- - rvm: 2.5.0
18
+ - rvm: 2.5.1
17
19
  gemfile: gemfiles/activerecord_5_1.gemfile
18
- - rvm: 2.5.0
20
+ - rvm: 2.5.1
19
21
  gemfile: gemfiles/activerecord_5_2.gemfile
20
- - rvm: 2.5.0
22
+ - rvm: 2.5.1
21
23
  gemfile: gemfiles/activerecord_master.gemfile
22
- - rvm: 2.4.3
24
+ - rvm: 2.4.4
23
25
  gemfile: gemfiles/activerecord_5_2.gemfile
24
- - rvm: 2.3.6
26
+ - rvm: 2.3.7
25
27
  gemfile: gemfiles/activerecord_5_2.gemfile
28
+
29
+ # https://github.com/travis-ci/travis-ci/issues/8969#issuecomment-380028168
30
+ before_install:
31
+ - gem update --system
32
+ - gem install bundler
data/Appraisals CHANGED
@@ -1,4 +1,8 @@
1
1
  # frozen_string_literal: true
2
+ #
3
+ appraise 'activerecord-4-2' do
4
+ gem 'activerecord', '~> 4.2.0'
5
+ end
2
6
 
3
7
  appraise 'activerecord-5-0' do
4
8
  gem 'activerecord', '~> 5.0.0'
@@ -9,9 +13,10 @@ appraise 'activerecord-5-1' do
9
13
  end
10
14
 
11
15
  appraise 'activerecord-5-2' do
12
- gem 'activerecord', '~> 5.2.0.rc1'
16
+ gem 'activerecord', '~> 5.2.0'
13
17
  end
14
18
 
15
19
  appraise 'activerecord-master' do
20
+ gem 'rails', git: 'https://github.com/rails/rails.git'
16
21
  gem 'activerecord', git: 'https://github.com/rails/rails.git'
17
22
  end
@@ -0,0 +1,22 @@
1
+ # Changelog
2
+ All notable changes to this project will be documented in this file.
3
+
4
+ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
+ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
+
7
+ ## [Unreleased]
8
+
9
+ ## 0.1.2 (2018-05-01)
10
+
11
+ - [PR [#1](https://github.com/Envek/after_commit_everywhere/pull/1)] Enable ActiveRecord 4.2 support. ([@arjun810], [@Envek])
12
+
13
+ ## 0.1.1 (2018-03-29)
14
+
15
+ - Do not issue warning on `after_commit` invocation outside of transaction as it is expected behaviour. ([@Envek])
16
+
17
+ ## 0.1.0 (2018-03-18)
18
+
19
+ - Initial version with `after_commit`, `before_commit`. and `after_rollback` callbacks. ([@Envek])
20
+
21
+ [@Envek]: https://github.com/Envek "Andrey Novikov"
22
+ [@arjun810]: https://github.com/arjun810 "Arjun Singh"
data/README.md CHANGED
@@ -98,6 +98,8 @@ Will be executed right before outermost transaction will be commited _(I can't i
98
98
 
99
99
  If called outside transaction will execute callback immediately.
100
100
 
101
+ Supported only starting from ActiveRecord 5.0.
102
+
101
103
  #### `after_rollback`
102
104
 
103
105
  Will be executed right after transaction in which it have been declared was rolled back (this might be nested savepoint transaction block with `requires_new: true`).
@@ -110,7 +112,7 @@ Please keep in mind ActiveRecord's [limitations for rolling back nested transact
110
112
 
111
113
  #### Does it works with transactional_test or DatabaseCleaner
112
114
 
113
- *Yes* but currently it is not tested (help wanted).
115
+ **Yes**.
114
116
 
115
117
 
116
118
  ## Development
@@ -28,7 +28,7 @@ Gem::Specification.new do |spec|
28
28
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
29
29
  spec.require_paths = ['lib']
30
30
 
31
- spec.add_dependency 'activerecord', '>= 5.0'
31
+ spec.add_dependency 'activerecord', '>= 4.2'
32
32
  spec.add_development_dependency 'appraisal'
33
33
  spec.add_development_dependency 'bundler', '~> 1.16'
34
34
  spec.add_development_dependency 'pry'
@@ -36,4 +36,7 @@ Gem::Specification.new do |spec|
36
36
  spec.add_development_dependency 'rspec', '~> 3.0'
37
37
  spec.add_development_dependency 'rubocop'
38
38
  spec.add_development_dependency 'sqlite3'
39
+ spec.add_development_dependency 'isolator'
40
+ spec.add_development_dependency 'rails'
41
+ spec.add_development_dependency 'rspec-rails'
39
42
  end
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "activerecord", "~> 4.2.0"
6
+
7
+ gemspec path: "../"
@@ -2,6 +2,6 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
- gem "activerecord", "~> 5.2.0.rc1"
5
+ gem "activerecord", "~> 5.2.0"
6
6
 
7
7
  gemspec path: "../"
@@ -2,6 +2,7 @@
2
2
 
3
3
  source "https://rubygems.org"
4
4
 
5
+ gem "rails", git: "https://github.com/rails/rails.git"
5
6
  gem "activerecord", git: "https://github.com/rails/rails.git"
6
7
 
7
8
  gemspec path: "../"
@@ -33,10 +33,15 @@ module AfterCommitEverywhere
33
33
  #
34
34
  # If called outside transaction it will execute callback immediately.
35
35
  #
36
+ # Available only since Ruby on Rails 5.0. See https://github.com/rails/rails/pull/18936
37
+ #
36
38
  # @param connection [ActiveRecord::ConnectionAdapters::AbstractAdapter]
37
39
  # @param callback [#call] Callback to be executed
38
40
  # @return void
39
41
  def before_commit(connection: ActiveRecord::Base.connection, &callback)
42
+ if ActiveRecord::VERSION::MAJOR < 5
43
+ raise NotImplementedError, "#{__callee__} works only with Rails 5.0+"
44
+ end
40
45
  AfterCommitEverywhere.register_callback(
41
46
  connection: connection,
42
47
  name: __callee__,
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AfterCommitEverywhere
4
- VERSION = '0.1.1'
4
+ VERSION = '0.1.2'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: after_commit_everywhere
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrey Novikov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-03-29 00:00:00.000000000 Z
11
+ date: 2018-05-01 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: '5.0'
19
+ version: '4.2'
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: '5.0'
26
+ version: '4.2'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: appraisal
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -122,6 +122,48 @@ dependencies:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
124
  version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: isolator
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :development
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: rails
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: rspec-rails
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :development
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
125
167
  description: Brings before_commit, after_commit, and after_rollback transactional callbacks
126
168
  outside of your ActiveRecord models.
127
169
  email:
@@ -135,6 +177,7 @@ files:
135
177
  - ".rubocop.yml"
136
178
  - ".travis.yml"
137
179
  - Appraisals
180
+ - CHANGELOG.md
138
181
  - Gemfile
139
182
  - LICENSE.txt
140
183
  - README.md
@@ -143,6 +186,7 @@ files:
143
186
  - bin/console
144
187
  - bin/setup
145
188
  - gemfiles/.bundle/config
189
+ - gemfiles/activerecord_4_2.gemfile
146
190
  - gemfiles/activerecord_5_0.gemfile
147
191
  - gemfiles/activerecord_5_1.gemfile
148
192
  - gemfiles/activerecord_5_2.gemfile
@@ -171,7 +215,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
171
215
  version: '0'
172
216
  requirements: []
173
217
  rubyforge_project:
174
- rubygems_version: 2.7.6
218
+ rubygems_version: 2.6.14.1
175
219
  signing_key:
176
220
  specification_version: 4
177
221
  summary: Executes code after database commit wherever you want in your application