job_notifier 1.5.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +104 -0
  3. data/.circleci/setup-rubygems.sh +3 -0
  4. data/.rubocop.yml +65 -594
  5. data/.ruby-version +1 -1
  6. data/CHANGELOG.md +5 -0
  7. data/Gemfile.lock +187 -124
  8. data/README.md +10 -1
  9. data/app/models/job_notifier/job.rb +3 -2
  10. data/job_notifier.gemspec +9 -5
  11. data/lib/job_notifier/notifier.rb +5 -5
  12. data/lib/job_notifier/version.rb +1 -1
  13. data/spec/dummy/Rakefile +1 -1
  14. data/spec/dummy/app/assets/config/manifest.js +3 -0
  15. data/spec/dummy/app/assets/stylesheets/application.css +3 -3
  16. data/spec/dummy/app/channels/application_cable/channel.rb +4 -0
  17. data/spec/dummy/app/channels/application_cable/connection.rb +4 -0
  18. data/spec/dummy/app/controllers/application_controller.rb +0 -3
  19. data/spec/dummy/app/javascript/packs/application.js +15 -0
  20. data/spec/dummy/app/jobs/application_job.rb +7 -0
  21. data/spec/dummy/app/mailers/application_mailer.rb +4 -0
  22. data/spec/dummy/app/models/application_record.rb +3 -0
  23. data/spec/dummy/app/views/layouts/application.html.erb +10 -9
  24. data/spec/dummy/app/views/layouts/mailer.html.erb +13 -0
  25. data/spec/dummy/app/views/layouts/mailer.text.erb +1 -0
  26. data/spec/dummy/bin/rails +3 -3
  27. data/spec/dummy/bin/rake +2 -2
  28. data/spec/dummy/bin/setup +18 -14
  29. data/spec/dummy/config.ru +3 -1
  30. data/spec/dummy/config/application.rb +12 -21
  31. data/spec/dummy/config/boot.rb +3 -3
  32. data/spec/dummy/config/cable.yml +10 -0
  33. data/spec/dummy/config/database.yml +2 -2
  34. data/spec/dummy/config/environment.rb +1 -1
  35. data/spec/dummy/config/environments/development.rb +49 -14
  36. data/spec/dummy/config/environments/production.rb +63 -22
  37. data/spec/dummy/config/environments/test.rb +29 -12
  38. data/spec/dummy/config/initializers/application_controller_renderer.rb +8 -0
  39. data/spec/dummy/config/initializers/assets.rb +4 -3
  40. data/spec/dummy/config/initializers/backtrace_silencers.rb +4 -3
  41. data/spec/dummy/config/initializers/content_security_policy.rb +28 -0
  42. data/spec/dummy/config/initializers/cookies_serializer.rb +2 -0
  43. data/spec/dummy/config/initializers/filter_parameter_logging.rb +3 -1
  44. data/spec/dummy/config/initializers/permissions_policy.rb +11 -0
  45. data/spec/dummy/config/initializers/wrap_parameters.rb +2 -2
  46. data/spec/dummy/config/locales/en.yml +11 -1
  47. data/spec/dummy/config/puma.rb +43 -0
  48. data/spec/dummy/config/routes.rb +0 -1
  49. data/spec/dummy/config/storage.yml +34 -0
  50. data/spec/dummy/public/404.html +6 -6
  51. data/spec/dummy/public/422.html +6 -6
  52. data/spec/dummy/public/500.html +6 -6
  53. data/spec/dummy/public/apple-touch-icon-precomposed.png +0 -0
  54. data/spec/dummy/public/apple-touch-icon.png +0 -0
  55. data/spec/factories/job_notifier_jobs.rb +3 -3
  56. data/spec/lib/job_notifier/notifier_spec.rb +8 -8
  57. data/spec/spec_helper.rb +2 -0
  58. metadata +94 -18
  59. data/.travis.yml +0 -14
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.3
1
+ 2.7
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  # Change Log
2
2
  All notable changes to this project will be documented in this file.
3
3
  This project adheres to [Semantic Versioning](http://semver.org/).
4
+ ### v2.0.0
5
+ ##### Changed
6
+
7
+ - Replace travis with CircleCI.
8
+ - Update Dependencies to play nice with Rails 6.
4
9
 
5
10
  ### v1.5.0
6
11
 
data/Gemfile.lock CHANGED
@@ -1,169 +1,232 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- job_notifier (1.5.0)
4
+ job_notifier (2.0.0)
5
5
  colorize (>= 0.7.7)
6
6
  enumerize (>= 1.0)
7
- rails (>= 4.2.0)
7
+ rails (>= 6.0)
8
8
  silencer (= 1.0.0.rc3)
9
9
 
10
10
  GEM
11
11
  remote: https://rubygems.org/
12
12
  specs:
13
- actionmailer (4.2.10)
14
- actionpack (= 4.2.10)
15
- actionview (= 4.2.10)
16
- activejob (= 4.2.10)
13
+ actioncable (6.1.3.2)
14
+ actionpack (= 6.1.3.2)
15
+ activesupport (= 6.1.3.2)
16
+ nio4r (~> 2.0)
17
+ websocket-driver (>= 0.6.1)
18
+ actionmailbox (6.1.3.2)
19
+ actionpack (= 6.1.3.2)
20
+ activejob (= 6.1.3.2)
21
+ activerecord (= 6.1.3.2)
22
+ activestorage (= 6.1.3.2)
23
+ activesupport (= 6.1.3.2)
24
+ mail (>= 2.7.1)
25
+ actionmailer (6.1.3.2)
26
+ actionpack (= 6.1.3.2)
27
+ actionview (= 6.1.3.2)
28
+ activejob (= 6.1.3.2)
29
+ activesupport (= 6.1.3.2)
17
30
  mail (~> 2.5, >= 2.5.4)
18
- rails-dom-testing (~> 1.0, >= 1.0.5)
19
- actionpack (4.2.10)
20
- actionview (= 4.2.10)
21
- activesupport (= 4.2.10)
22
- rack (~> 1.6)
23
- rack-test (~> 0.6.2)
24
- rails-dom-testing (~> 1.0, >= 1.0.5)
25
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
26
- actionview (4.2.10)
27
- activesupport (= 4.2.10)
31
+ rails-dom-testing (~> 2.0)
32
+ actionpack (6.1.3.2)
33
+ actionview (= 6.1.3.2)
34
+ activesupport (= 6.1.3.2)
35
+ rack (~> 2.0, >= 2.0.9)
36
+ rack-test (>= 0.6.3)
37
+ rails-dom-testing (~> 2.0)
38
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
39
+ actiontext (6.1.3.2)
40
+ actionpack (= 6.1.3.2)
41
+ activerecord (= 6.1.3.2)
42
+ activestorage (= 6.1.3.2)
43
+ activesupport (= 6.1.3.2)
44
+ nokogiri (>= 1.8.5)
45
+ actionview (6.1.3.2)
46
+ activesupport (= 6.1.3.2)
28
47
  builder (~> 3.1)
29
- erubis (~> 2.7.0)
30
- rails-dom-testing (~> 1.0, >= 1.0.5)
31
- rails-html-sanitizer (~> 1.0, >= 1.0.3)
32
- activejob (4.2.10)
33
- activesupport (= 4.2.10)
34
- globalid (>= 0.3.0)
35
- activemodel (4.2.10)
36
- activesupport (= 4.2.10)
37
- builder (~> 3.1)
38
- activerecord (4.2.10)
39
- activemodel (= 4.2.10)
40
- activesupport (= 4.2.10)
41
- arel (~> 6.0)
42
- activesupport (4.2.10)
43
- i18n (~> 0.7)
44
- minitest (~> 5.1)
45
- thread_safe (~> 0.3, >= 0.3.4)
46
- tzinfo (~> 1.1)
47
- arel (6.0.4)
48
- builder (3.2.3)
49
- coderay (1.1.1)
48
+ erubi (~> 1.4)
49
+ rails-dom-testing (~> 2.0)
50
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
51
+ activejob (6.1.3.2)
52
+ activesupport (= 6.1.3.2)
53
+ globalid (>= 0.3.6)
54
+ activemodel (6.1.3.2)
55
+ activesupport (= 6.1.3.2)
56
+ activerecord (6.1.3.2)
57
+ activemodel (= 6.1.3.2)
58
+ activesupport (= 6.1.3.2)
59
+ activestorage (6.1.3.2)
60
+ actionpack (= 6.1.3.2)
61
+ activejob (= 6.1.3.2)
62
+ activerecord (= 6.1.3.2)
63
+ activesupport (= 6.1.3.2)
64
+ marcel (~> 1.0.0)
65
+ mini_mime (~> 1.0.2)
66
+ activesupport (6.1.3.2)
67
+ concurrent-ruby (~> 1.0, >= 1.0.2)
68
+ i18n (>= 1.6, < 2)
69
+ minitest (>= 5.1)
70
+ tzinfo (~> 2.0)
71
+ zeitwerk (~> 2.3)
72
+ ast (2.4.2)
73
+ builder (3.2.4)
74
+ coderay (1.1.3)
50
75
  colorize (0.8.1)
51
- concurrent-ruby (1.0.5)
52
- coveralls (0.8.19)
76
+ concurrent-ruby (1.1.9)
77
+ coveralls (0.8.23)
53
78
  json (>= 1.8, < 3)
54
- simplecov (~> 0.12.0)
79
+ simplecov (~> 0.16.1)
55
80
  term-ansicolor (~> 1.3)
56
- thor (~> 0.19.1)
81
+ thor (>= 0.19.4, < 2.0)
57
82
  tins (~> 1.6)
58
- crass (1.0.3)
59
- diff-lcs (1.3)
60
- docile (1.1.5)
61
- enumerize (2.2.2)
83
+ crass (1.0.6)
84
+ diff-lcs (1.4.4)
85
+ docile (1.4.0)
86
+ enumerize (2.4.0)
62
87
  activesupport (>= 3.2)
63
- erubis (2.7.0)
64
- factory_bot (4.8.2)
65
- activesupport (>= 3.0.0)
66
- factory_bot_rails (4.8.2)
67
- factory_bot (~> 4.8.2)
68
- railties (>= 3.0.0)
69
- globalid (0.4.1)
88
+ erubi (1.10.0)
89
+ factory_bot (6.2.0)
90
+ activesupport (>= 5.0.0)
91
+ factory_bot_rails (6.2.0)
92
+ factory_bot (~> 6.2.0)
93
+ railties (>= 5.0.0)
94
+ globalid (0.4.2)
70
95
  activesupport (>= 4.2.0)
71
- i18n (0.9.5)
96
+ i18n (1.8.10)
72
97
  concurrent-ruby (~> 1.0)
73
- json (2.0.3)
74
- loofah (2.2.2)
98
+ json (2.5.1)
99
+ loofah (2.10.0)
75
100
  crass (~> 1.0.2)
76
101
  nokogiri (>= 1.5.9)
77
- mail (2.7.0)
102
+ mail (2.7.1)
78
103
  mini_mime (>= 0.1.1)
79
- method_source (0.8.2)
80
- mini_mime (1.0.1)
81
- mini_portile2 (2.3.0)
82
- minitest (5.11.3)
83
- nokogiri (1.8.2)
84
- mini_portile2 (~> 2.3.0)
85
- pry (0.10.4)
86
- coderay (~> 1.1.0)
87
- method_source (~> 0.8.1)
88
- slop (~> 3.4)
89
- rack (1.6.9)
90
- rack-test (0.6.3)
91
- rack (>= 1.0)
92
- rails (4.2.10)
93
- actionmailer (= 4.2.10)
94
- actionpack (= 4.2.10)
95
- actionview (= 4.2.10)
96
- activejob (= 4.2.10)
97
- activemodel (= 4.2.10)
98
- activerecord (= 4.2.10)
99
- activesupport (= 4.2.10)
100
- bundler (>= 1.3.0, < 2.0)
101
- railties (= 4.2.10)
102
- sprockets-rails
103
- rails-deprecated_sanitizer (1.0.3)
104
- activesupport (>= 4.2.0.alpha)
105
- rails-dom-testing (1.0.9)
106
- activesupport (>= 4.2.0, < 5.0)
107
- nokogiri (~> 1.6)
108
- rails-deprecated_sanitizer (>= 1.0.1)
109
- rails-html-sanitizer (1.0.4)
110
- loofah (~> 2.2, >= 2.2.2)
111
- railties (4.2.10)
112
- actionpack (= 4.2.10)
113
- activesupport (= 4.2.10)
104
+ marcel (1.0.1)
105
+ method_source (1.0.0)
106
+ mini_mime (1.0.3)
107
+ minitest (5.14.4)
108
+ nio4r (2.5.7)
109
+ nokogiri (1.11.7-x86_64-darwin)
110
+ racc (~> 1.4)
111
+ nokogiri (1.11.7-x86_64-linux)
112
+ racc (~> 1.4)
113
+ parallel (1.20.1)
114
+ parser (3.0.1.1)
115
+ ast (~> 2.4.1)
116
+ pry (0.14.1)
117
+ coderay (~> 1.1)
118
+ method_source (~> 1.0)
119
+ racc (1.5.2)
120
+ rack (2.2.3)
121
+ rack-test (1.1.0)
122
+ rack (>= 1.0, < 3)
123
+ rails (6.1.3.2)
124
+ actioncable (= 6.1.3.2)
125
+ actionmailbox (= 6.1.3.2)
126
+ actionmailer (= 6.1.3.2)
127
+ actionpack (= 6.1.3.2)
128
+ actiontext (= 6.1.3.2)
129
+ actionview (= 6.1.3.2)
130
+ activejob (= 6.1.3.2)
131
+ activemodel (= 6.1.3.2)
132
+ activerecord (= 6.1.3.2)
133
+ activestorage (= 6.1.3.2)
134
+ activesupport (= 6.1.3.2)
135
+ bundler (>= 1.15.0)
136
+ railties (= 6.1.3.2)
137
+ sprockets-rails (>= 2.0.0)
138
+ rails-dom-testing (2.0.3)
139
+ activesupport (>= 4.2.0)
140
+ nokogiri (>= 1.6)
141
+ rails-html-sanitizer (1.3.0)
142
+ loofah (~> 2.3)
143
+ railties (6.1.3.2)
144
+ actionpack (= 6.1.3.2)
145
+ activesupport (= 6.1.3.2)
146
+ method_source
114
147
  rake (>= 0.8.7)
115
- thor (>= 0.18.1, < 2.0)
116
- rake (12.3.1)
117
- rspec-core (3.4.4)
118
- rspec-support (~> 3.4.0)
119
- rspec-expectations (3.4.0)
148
+ thor (~> 1.0)
149
+ rainbow (3.0.0)
150
+ rake (13.0.3)
151
+ regexp_parser (2.1.1)
152
+ rexml (3.2.5)
153
+ rspec-core (3.10.1)
154
+ rspec-support (~> 3.10.0)
155
+ rspec-expectations (3.10.1)
120
156
  diff-lcs (>= 1.2.0, < 2.0)
121
- rspec-support (~> 3.4.0)
122
- rspec-mocks (3.4.1)
157
+ rspec-support (~> 3.10.0)
158
+ rspec-mocks (3.10.2)
123
159
  diff-lcs (>= 1.2.0, < 2.0)
124
- rspec-support (~> 3.4.0)
125
- rspec-rails (3.4.2)
126
- actionpack (>= 3.0, < 4.3)
127
- activesupport (>= 3.0, < 4.3)
128
- railties (>= 3.0, < 4.3)
129
- rspec-core (~> 3.4.0)
130
- rspec-expectations (~> 3.4.0)
131
- rspec-mocks (~> 3.4.0)
132
- rspec-support (~> 3.4.0)
133
- rspec-support (3.4.1)
160
+ rspec-support (~> 3.10.0)
161
+ rspec-rails (5.0.1)
162
+ actionpack (>= 5.2)
163
+ activesupport (>= 5.2)
164
+ railties (>= 5.2)
165
+ rspec-core (~> 3.10)
166
+ rspec-expectations (~> 3.10)
167
+ rspec-mocks (~> 3.10)
168
+ rspec-support (~> 3.10)
169
+ rspec-support (3.10.2)
170
+ rspec_junit_formatter (0.4.1)
171
+ rspec-core (>= 2, < 4, != 2.12.0)
172
+ rubocop (1.17.0)
173
+ parallel (~> 1.10)
174
+ parser (>= 3.0.0.0)
175
+ rainbow (>= 2.2.2, < 4.0)
176
+ regexp_parser (>= 1.8, < 3.0)
177
+ rexml
178
+ rubocop-ast (>= 1.7.0, < 2.0)
179
+ ruby-progressbar (~> 1.7)
180
+ unicode-display_width (>= 1.4.0, < 3.0)
181
+ rubocop-ast (1.7.0)
182
+ parser (>= 3.0.1.1)
183
+ rubocop-rails (2.10.1)
184
+ activesupport (>= 4.2.0)
185
+ rack (>= 1.1)
186
+ rubocop (>= 1.7.0, < 2.0)
187
+ ruby-progressbar (1.11.0)
134
188
  silencer (1.0.0.rc3)
135
- simplecov (0.12.0)
136
- docile (~> 1.1.0)
189
+ simplecov (0.16.1)
190
+ docile (~> 1.1)
137
191
  json (>= 1.8, < 3)
138
192
  simplecov-html (~> 0.10.0)
139
- simplecov-html (0.10.0)
140
- slop (3.6.0)
141
- sprockets (3.7.2)
193
+ simplecov-html (0.10.2)
194
+ sprockets (4.0.2)
142
195
  concurrent-ruby (~> 1.0)
143
196
  rack (> 1, < 3)
144
- sprockets-rails (3.2.1)
197
+ sprockets-rails (3.2.2)
145
198
  actionpack (>= 4.0)
146
199
  activesupport (>= 4.0)
147
200
  sprockets (>= 3.0.0)
148
- sqlite3 (1.3.13)
149
- term-ansicolor (1.4.1)
201
+ sqlite3 (1.4.2)
202
+ sync (0.5.0)
203
+ term-ansicolor (1.7.1)
150
204
  tins (~> 1.0)
151
- thor (0.19.4)
152
- thread_safe (0.3.6)
153
- tins (1.13.2)
154
- tzinfo (1.2.5)
155
- thread_safe (~> 0.1)
205
+ thor (1.1.0)
206
+ tins (1.29.1)
207
+ sync
208
+ tzinfo (2.0.4)
209
+ concurrent-ruby (~> 1.0)
210
+ unicode-display_width (2.0.0)
211
+ websocket-driver (0.7.5)
212
+ websocket-extensions (>= 0.1.0)
213
+ websocket-extensions (0.1.5)
214
+ zeitwerk (2.4.2)
156
215
 
157
216
  PLATFORMS
158
- ruby
217
+ x86_64-darwin-20
218
+ x86_64-linux
159
219
 
160
220
  DEPENDENCIES
161
221
  coveralls
162
222
  factory_bot_rails
163
223
  job_notifier!
164
224
  pry
165
- rspec-rails (~> 3.4.0)
225
+ rspec-rails
226
+ rspec_junit_formatter
227
+ rubocop (~> 1.9)
228
+ rubocop-rails
166
229
  sqlite3
167
230
 
168
231
  BUNDLED WITH
169
- 1.16.3
232
+ 2.2.15
data/README.md CHANGED
@@ -96,7 +96,7 @@ JobNotifier.onNotify = function(data) {
96
96
  Now, you are be able to get feedback of your jobs but, you don't have any! so, the **Third** step is to define a job.
97
97
 
98
98
  ```ruby
99
- class MyJob < ActiveJob::Base
99
+ class MyJob < ApplicationJob
100
100
  def perform_with_feedback(param1, param2)
101
101
  MyService.run(param1, param2)
102
102
  end
@@ -147,6 +147,15 @@ If you are building an API or your client app is not part of the project you hav
147
147
  You can get the identifier executing in server side something like this: `@current_user.job_identifier` (Remember, I'm assuming you have a `@current_user` instance of `User` class that includes the `JobNotifier::Identifier` mixin).
148
148
 
149
149
  The root url is your server url (where Job Notifier gem was installed).
150
+ ## Publishing
151
+
152
+ On master/main branch...
153
+
154
+ 1. Change `VERSION` in `lib/job_notifier/version.rb`.
155
+ 2. Change `Unreleased` title to current version in `CHANGELOG.md`.
156
+ 3. Commit new release. For example: `Releasing v0.1.0`.
157
+ 4. Create tag. For example: `git tag v0.1.0`.
158
+ 5. Push tag. For example: `git push origin v0.1.0`.
150
159
 
151
160
  ## Contributing
152
161
 
@@ -1,5 +1,5 @@
1
1
  module JobNotifier
2
- class Job < ActiveRecord::Base
2
+ class Job < ApplicationRecord
3
3
  extend Enumerize
4
4
 
5
5
  STATUSES = [:pending, :finished, :failed]
@@ -9,7 +9,8 @@ module JobNotifier
9
9
  def self.update_feedback(job_id, data, status)
10
10
  job = JobNotifier::Job.find_by(job_id: job_id)
11
11
  return unless job
12
- job.update_attributes(result: data.to_s, status: status, notified: false)
12
+
13
+ job.update(result: data.to_s, status: status, notified: false)
13
14
  end
14
15
 
15
16
  def self.unnotified_by_identifier(encoded_identifier)
data/job_notifier.gemspec CHANGED
@@ -17,14 +17,18 @@ Gem::Specification.new do |s|
17
17
  s.files = `git ls-files`.split($/).reject { |fn| fn.start_with? "spec" }
18
18
  s.test_files = Dir["spec/**/*"]
19
19
 
20
- s.add_dependency "rails", ">= 4.2.0"
21
- s.add_dependency "enumerize", ">= 1.0"
20
+ s.add_dependency "rails", ">= 6.0"
21
+
22
22
  s.add_dependency "colorize", ">= 0.7.7"
23
+ s.add_dependency "enumerize", ">= 1.0"
23
24
  s.add_dependency "silencer", "1.0.0.rc3"
24
25
 
26
+ s.add_development_dependency "coveralls"
27
+ s.add_development_dependency "factory_bot_rails"
25
28
  s.add_development_dependency "pry"
29
+ s.add_development_dependency "rspec_junit_formatter"
30
+ s.add_development_dependency "rspec-rails"
31
+ s.add_development_dependency "rubocop", "~> 1.9"
32
+ s.add_development_dependency "rubocop-rails"
26
33
  s.add_development_dependency "sqlite3"
27
- s.add_development_dependency "rspec-rails", "~> 3.4.0"
28
- s.add_development_dependency "factory_bot_rails"
29
- s.add_development_dependency "coveralls"
30
34
  end
@@ -6,11 +6,11 @@ module JobNotifier
6
6
  def perform(*args)
7
7
  result = perform_with_feedback(*args)
8
8
  save_success_feedback(result)
9
- rescue JobNotifier::Error::Validation => ex
10
- save_error_feedback(ex.error)
11
- rescue StandardError => ex
9
+ rescue JobNotifier::Error::Validation => e
10
+ save_error_feedback(e.error)
11
+ rescue StandardError => e
12
12
  save_error_feedback("unknown")
13
- raise ex
13
+ raise e
14
14
  end
15
15
 
16
16
  def save_error_feedback(error)
@@ -37,4 +37,4 @@ module JobNotifier
37
37
  end
38
38
  end
39
39
 
40
- ActiveJob::Base.send(:include, JobNotifier::Notifier)
40
+ ActiveJob::Base.include(JobNotifier::Notifier)