job_notifier 1.5.0 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +104 -0
  3. data/.circleci/setup-rubygems.sh +3 -0
  4. data/.gitignore +1 -0
  5. data/.rubocop.yml +65 -594
  6. data/.ruby-version +1 -1
  7. data/CHANGELOG.md +17 -0
  8. data/Gemfile.lock +219 -133
  9. data/README.md +10 -1
  10. data/app/models/job_notifier/job.rb +3 -2
  11. data/job_notifier.gemspec +9 -5
  12. data/lib/job_notifier/engine.rb +0 -4
  13. data/lib/job_notifier/notifier.rb +5 -5
  14. data/lib/job_notifier/version.rb +1 -1
  15. data/spec/dummy/Rakefile +1 -1
  16. data/spec/dummy/app/assets/config/manifest.js +3 -0
  17. data/spec/dummy/app/assets/stylesheets/application.css +3 -3
  18. data/spec/dummy/app/channels/application_cable/channel.rb +4 -0
  19. data/spec/dummy/app/channels/application_cable/connection.rb +4 -0
  20. data/spec/dummy/app/controllers/application_controller.rb +0 -3
  21. data/spec/dummy/app/javascript/packs/application.js +15 -0
  22. data/spec/dummy/app/jobs/application_job.rb +7 -0
  23. data/spec/dummy/app/mailers/application_mailer.rb +4 -0
  24. data/spec/dummy/app/models/application_record.rb +3 -0
  25. data/spec/dummy/app/views/layouts/application.html.erb +10 -9
  26. data/spec/dummy/app/views/layouts/mailer.html.erb +13 -0
  27. data/spec/dummy/app/views/layouts/mailer.text.erb +1 -0
  28. data/spec/dummy/bin/rails +3 -3
  29. data/spec/dummy/bin/rake +2 -2
  30. data/spec/dummy/bin/setup +18 -14
  31. data/spec/dummy/config/application.rb +12 -21
  32. data/spec/dummy/config/boot.rb +3 -3
  33. data/spec/dummy/config/cable.yml +10 -0
  34. data/spec/dummy/config/database.yml +2 -2
  35. data/spec/dummy/config/environment.rb +1 -1
  36. data/spec/dummy/config/environments/development.rb +49 -14
  37. data/spec/dummy/config/environments/production.rb +63 -22
  38. data/spec/dummy/config/environments/test.rb +29 -12
  39. data/spec/dummy/config/initializers/application_controller_renderer.rb +8 -0
  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/config.ru +3 -1
  51. data/spec/dummy/public/404.html +6 -6
  52. data/spec/dummy/public/422.html +6 -6
  53. data/spec/dummy/public/500.html +6 -6
  54. data/spec/dummy/public/apple-touch-icon-precomposed.png +0 -0
  55. data/spec/dummy/public/apple-touch-icon.png +0 -0
  56. data/spec/factories/job_notifier_jobs.rb +3 -3
  57. data/spec/lib/job_notifier/notifier_spec.rb +8 -8
  58. data/spec/models/job_notifier/job_spec.rb +0 -2
  59. data/spec/spec_helper.rb +2 -0
  60. metadata +95 -21
  61. data/.travis.yml +0 -14
  62. data/spec/dummy/config/initializers/assets.rb +0 -11
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.3
1
+ 3.2
data/CHANGELOG.md CHANGED
@@ -2,6 +2,23 @@
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
4
 
5
+ ### v3.0.0
6
+
7
+ ##### Added
8
+
9
+ * Add Ruby 3.1 and 3.2 support
10
+
11
+ ##### Removed
12
+
13
+ * Remove Ruby 2.5 and 2.6 support
14
+
15
+ ### v2.0.0
16
+
17
+ ##### Changed
18
+
19
+ - Replace travis with CircleCI.
20
+ - Update Dependencies to play nice with Rails 6.
21
+
5
22
  ### v1.5.0
6
23
 
7
24
  ##### Added
data/Gemfile.lock CHANGED
@@ -1,169 +1,255 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- job_notifier (1.5.0)
4
+ job_notifier (3.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 (7.0.6)
14
+ actionpack (= 7.0.6)
15
+ activesupport (= 7.0.6)
16
+ nio4r (~> 2.0)
17
+ websocket-driver (>= 0.6.1)
18
+ actionmailbox (7.0.6)
19
+ actionpack (= 7.0.6)
20
+ activejob (= 7.0.6)
21
+ activerecord (= 7.0.6)
22
+ activestorage (= 7.0.6)
23
+ activesupport (= 7.0.6)
24
+ mail (>= 2.7.1)
25
+ net-imap
26
+ net-pop
27
+ net-smtp
28
+ actionmailer (7.0.6)
29
+ actionpack (= 7.0.6)
30
+ actionview (= 7.0.6)
31
+ activejob (= 7.0.6)
32
+ activesupport (= 7.0.6)
17
33
  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)
34
+ net-imap
35
+ net-pop
36
+ net-smtp
37
+ rails-dom-testing (~> 2.0)
38
+ actionpack (7.0.6)
39
+ actionview (= 7.0.6)
40
+ activesupport (= 7.0.6)
41
+ rack (~> 2.0, >= 2.2.4)
42
+ rack-test (>= 0.6.3)
43
+ rails-dom-testing (~> 2.0)
44
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
45
+ actiontext (7.0.6)
46
+ actionpack (= 7.0.6)
47
+ activerecord (= 7.0.6)
48
+ activestorage (= 7.0.6)
49
+ activesupport (= 7.0.6)
50
+ globalid (>= 0.6.0)
51
+ nokogiri (>= 1.8.5)
52
+ actionview (7.0.6)
53
+ activesupport (= 7.0.6)
28
54
  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)
50
- colorize (0.8.1)
51
- concurrent-ruby (1.0.5)
52
- coveralls (0.8.19)
55
+ erubi (~> 1.4)
56
+ rails-dom-testing (~> 2.0)
57
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
58
+ activejob (7.0.6)
59
+ activesupport (= 7.0.6)
60
+ globalid (>= 0.3.6)
61
+ activemodel (7.0.6)
62
+ activesupport (= 7.0.6)
63
+ activerecord (7.0.6)
64
+ activemodel (= 7.0.6)
65
+ activesupport (= 7.0.6)
66
+ activestorage (7.0.6)
67
+ actionpack (= 7.0.6)
68
+ activejob (= 7.0.6)
69
+ activerecord (= 7.0.6)
70
+ activesupport (= 7.0.6)
71
+ marcel (~> 1.0)
72
+ mini_mime (>= 1.1.0)
73
+ activesupport (7.0.6)
74
+ concurrent-ruby (~> 1.0, >= 1.0.2)
75
+ i18n (>= 1.6, < 2)
76
+ minitest (>= 5.1)
77
+ tzinfo (~> 2.0)
78
+ ast (2.4.2)
79
+ builder (3.2.4)
80
+ coderay (1.1.3)
81
+ colorize (1.1.0)
82
+ concurrent-ruby (1.2.2)
83
+ coveralls (0.8.23)
53
84
  json (>= 1.8, < 3)
54
- simplecov (~> 0.12.0)
85
+ simplecov (~> 0.16.1)
55
86
  term-ansicolor (~> 1.3)
56
- thor (~> 0.19.1)
87
+ thor (>= 0.19.4, < 2.0)
57
88
  tins (~> 1.6)
58
- crass (1.0.3)
59
- diff-lcs (1.3)
60
- docile (1.1.5)
61
- enumerize (2.2.2)
89
+ crass (1.0.6)
90
+ date (3.3.3)
91
+ diff-lcs (1.5.0)
92
+ docile (1.4.0)
93
+ enumerize (2.6.1)
62
94
  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)
70
- activesupport (>= 4.2.0)
71
- i18n (0.9.5)
95
+ erubi (1.12.0)
96
+ factory_bot (6.2.1)
97
+ activesupport (>= 5.0.0)
98
+ factory_bot_rails (6.2.0)
99
+ factory_bot (~> 6.2.0)
100
+ railties (>= 5.0.0)
101
+ globalid (1.1.0)
102
+ activesupport (>= 5.0)
103
+ i18n (1.14.1)
72
104
  concurrent-ruby (~> 1.0)
73
- json (2.0.3)
74
- loofah (2.2.2)
105
+ json (2.6.3)
106
+ language_server-protocol (3.17.0.3)
107
+ loofah (2.21.3)
75
108
  crass (~> 1.0.2)
76
- nokogiri (>= 1.5.9)
77
- mail (2.7.0)
109
+ nokogiri (>= 1.12.0)
110
+ mail (2.8.1)
78
111
  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)
114
- 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)
112
+ net-imap
113
+ net-pop
114
+ net-smtp
115
+ marcel (1.0.2)
116
+ method_source (1.0.0)
117
+ mini_mime (1.1.2)
118
+ minitest (5.18.1)
119
+ net-imap (0.3.6)
120
+ date
121
+ net-protocol
122
+ net-pop (0.1.2)
123
+ net-protocol
124
+ net-protocol (0.2.1)
125
+ timeout
126
+ net-smtp (0.3.3)
127
+ net-protocol
128
+ nio4r (2.5.9)
129
+ nokogiri (1.15.2-arm64-darwin)
130
+ racc (~> 1.4)
131
+ nokogiri (1.15.2-x86_64-darwin)
132
+ racc (~> 1.4)
133
+ nokogiri (1.15.2-x86_64-linux)
134
+ racc (~> 1.4)
135
+ parallel (1.23.0)
136
+ parser (3.2.2.3)
137
+ ast (~> 2.4.1)
138
+ racc
139
+ pry (0.14.2)
140
+ coderay (~> 1.1)
141
+ method_source (~> 1.0)
142
+ racc (1.7.1)
143
+ rack (2.2.7)
144
+ rack-test (2.1.0)
145
+ rack (>= 1.3)
146
+ rails (7.0.6)
147
+ actioncable (= 7.0.6)
148
+ actionmailbox (= 7.0.6)
149
+ actionmailer (= 7.0.6)
150
+ actionpack (= 7.0.6)
151
+ actiontext (= 7.0.6)
152
+ actionview (= 7.0.6)
153
+ activejob (= 7.0.6)
154
+ activemodel (= 7.0.6)
155
+ activerecord (= 7.0.6)
156
+ activestorage (= 7.0.6)
157
+ activesupport (= 7.0.6)
158
+ bundler (>= 1.15.0)
159
+ railties (= 7.0.6)
160
+ rails-dom-testing (2.0.3)
161
+ activesupport (>= 4.2.0)
162
+ nokogiri (>= 1.6)
163
+ rails-html-sanitizer (1.6.0)
164
+ loofah (~> 2.21)
165
+ nokogiri (~> 1.14)
166
+ railties (7.0.6)
167
+ actionpack (= 7.0.6)
168
+ activesupport (= 7.0.6)
169
+ method_source
170
+ rake (>= 12.2)
171
+ thor (~> 1.0)
172
+ zeitwerk (~> 2.5)
173
+ rainbow (3.1.1)
174
+ rake (13.0.6)
175
+ regexp_parser (2.8.1)
176
+ rexml (3.2.5)
177
+ rspec-core (3.12.2)
178
+ rspec-support (~> 3.12.0)
179
+ rspec-expectations (3.12.3)
120
180
  diff-lcs (>= 1.2.0, < 2.0)
121
- rspec-support (~> 3.4.0)
122
- rspec-mocks (3.4.1)
181
+ rspec-support (~> 3.12.0)
182
+ rspec-mocks (3.12.5)
123
183
  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)
184
+ rspec-support (~> 3.12.0)
185
+ rspec-rails (6.0.3)
186
+ actionpack (>= 6.1)
187
+ activesupport (>= 6.1)
188
+ railties (>= 6.1)
189
+ rspec-core (~> 3.12)
190
+ rspec-expectations (~> 3.12)
191
+ rspec-mocks (~> 3.12)
192
+ rspec-support (~> 3.12)
193
+ rspec-support (3.12.1)
194
+ rspec_junit_formatter (0.6.0)
195
+ rspec-core (>= 2, < 4, != 2.12.0)
196
+ rubocop (1.53.1)
197
+ json (~> 2.3)
198
+ language_server-protocol (>= 3.17.0)
199
+ parallel (~> 1.10)
200
+ parser (>= 3.2.2.3)
201
+ rainbow (>= 2.2.2, < 4.0)
202
+ regexp_parser (>= 1.8, < 3.0)
203
+ rexml (>= 3.2.5, < 4.0)
204
+ rubocop-ast (>= 1.28.0, < 2.0)
205
+ ruby-progressbar (~> 1.7)
206
+ unicode-display_width (>= 2.4.0, < 3.0)
207
+ rubocop-ast (1.29.0)
208
+ parser (>= 3.2.1.0)
209
+ rubocop-rails (2.20.2)
210
+ activesupport (>= 4.2.0)
211
+ rack (>= 1.1)
212
+ rubocop (>= 1.33.0, < 2.0)
213
+ ruby-progressbar (1.13.0)
134
214
  silencer (1.0.0.rc3)
135
- simplecov (0.12.0)
136
- docile (~> 1.1.0)
215
+ simplecov (0.16.1)
216
+ docile (~> 1.1)
137
217
  json (>= 1.8, < 3)
138
218
  simplecov-html (~> 0.10.0)
139
- simplecov-html (0.10.0)
140
- slop (3.6.0)
141
- sprockets (3.7.2)
142
- concurrent-ruby (~> 1.0)
143
- rack (> 1, < 3)
144
- sprockets-rails (3.2.1)
145
- actionpack (>= 4.0)
146
- activesupport (>= 4.0)
147
- sprockets (>= 3.0.0)
148
- sqlite3 (1.3.13)
149
- term-ansicolor (1.4.1)
219
+ simplecov-html (0.10.2)
220
+ sqlite3 (1.6.3-arm64-darwin)
221
+ sqlite3 (1.6.3-x86_64-darwin)
222
+ sqlite3 (1.6.3-x86_64-linux)
223
+ sync (0.5.0)
224
+ term-ansicolor (1.7.1)
150
225
  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)
226
+ thor (1.2.2)
227
+ timeout (0.4.0)
228
+ tins (1.32.1)
229
+ sync
230
+ tzinfo (2.0.6)
231
+ concurrent-ruby (~> 1.0)
232
+ unicode-display_width (2.4.2)
233
+ websocket-driver (0.7.5)
234
+ websocket-extensions (>= 0.1.0)
235
+ websocket-extensions (0.1.5)
236
+ zeitwerk (2.6.8)
156
237
 
157
238
  PLATFORMS
158
- ruby
239
+ arm64-darwin-22
240
+ x86_64-darwin-20
241
+ x86_64-linux
159
242
 
160
243
  DEPENDENCIES
161
244
  coveralls
162
245
  factory_bot_rails
163
246
  job_notifier!
164
247
  pry
165
- rspec-rails (~> 3.4.0)
248
+ rspec-rails
249
+ rspec_junit_formatter
250
+ rubocop (~> 1.9)
251
+ rubocop-rails
166
252
  sqlite3
167
253
 
168
254
  BUNDLED WITH
169
- 1.16.3
255
+ 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
@@ -16,10 +16,6 @@ module JobNotifier
16
16
  require_relative "./adapters"
17
17
  require_relative "./logger"
18
18
 
19
- ActiveSupport.on_load :action_controller do
20
- helper(JobNotifier::ApplicationHelper)
21
- end
22
-
23
19
  if JobNotifier.silenced_log
24
20
  Rails.application.middleware.swap(
25
21
  Rails::Rack::Logger,
@@ -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)
@@ -1,3 +1,3 @@
1
1
  module JobNotifier
2
- VERSION = "1.5.0"
2
+ VERSION = "3.0.0"
3
3
  end
data/spec/dummy/Rakefile CHANGED
@@ -1,6 +1,6 @@
1
1
  # Add your own tasks in files placed in lib/tasks ending in .rake,
2
2
  # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
3
 
4
- require File.expand_path('../config/application', __FILE__)
4
+ require_relative "config/application"
5
5
 
6
6
  Rails.application.load_tasks
@@ -0,0 +1,3 @@
1
+ //= link_tree ../images
2
+ //= link_directory ../stylesheets .css
3
+ //= link job_notifier_manifest.js
@@ -6,9 +6,9 @@
6
6
  * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path.
7
7
  *
8
8
  * You're free to add application-wide styles to this file and they'll appear at the bottom of the
9
- * compiled file so the styles you add here take precedence over styles defined in any styles
10
- * defined in the other CSS/SCSS files in this directory. It is generally better to create a new
11
- * file per style scope.
9
+ * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS
10
+ * files in this directory. Styles in this file should be added after the last require_* statement.
11
+ * It is generally better to create a new file per style scope.
12
12
  *
13
13
  *= require_tree .
14
14
  *= require_self
@@ -0,0 +1,4 @@
1
+ module ApplicationCable
2
+ class Channel < ActionCable::Channel::Base
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module ApplicationCable
2
+ class Connection < ActionCable::Connection::Base
3
+ end
4
+ end
@@ -1,5 +1,2 @@
1
1
  class ApplicationController < ActionController::Base
2
- # Prevent CSRF attacks by raising an exception.
3
- # For APIs, you may want to use :null_session instead.
4
- protect_from_forgery with: :exception
5
2
  end
@@ -0,0 +1,15 @@
1
+ // This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ // listed below.
3
+ //
4
+ // Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ // or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
6
+ //
7
+ // It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ // compiled file. JavaScript code in this file should be added after the last require_* statement.
9
+ //
10
+ // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11
+ // about supported directives.
12
+ //
13
+ //= require rails-ujs
14
+ //= require activestorage
15
+ //= require_tree .
@@ -0,0 +1,7 @@
1
+ class ApplicationJob < ActiveJob::Base
2
+ # Automatically retry jobs that encountered a deadlock
3
+ # retry_on ActiveRecord::Deadlocked
4
+
5
+ # Most jobs are safe to ignore if the underlying records are no longer available
6
+ # discard_on ActiveJob::DeserializationError
7
+ end
@@ -0,0 +1,4 @@
1
+ class ApplicationMailer < ActionMailer::Base
2
+ default from: 'from@example.com'
3
+ layout 'mailer'
4
+ end
@@ -0,0 +1,3 @@
1
+ class ApplicationRecord < ActiveRecord::Base
2
+ self.abstract_class = true
3
+ end
@@ -1,14 +1,15 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
- <head>
4
- <title>Dummy</title>
5
- <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
6
- <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
7
- <%= csrf_meta_tags %>
8
- </head>
9
- <body <%= job_identifier_for(@current_user) %>>
3
+ <head>
4
+ <title>Dummy</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <%= csrf_meta_tags %>
7
+ <%= csp_meta_tag %>
10
8
 
11
- <%= yield %>
9
+ <%= stylesheet_link_tag 'application', media: 'all' %>
10
+ </head>
12
11
 
13
- </body>
12
+ <body>
13
+ <%= yield %>
14
+ </body>
14
15
  </html>
@@ -0,0 +1,13 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
+ <style>
6
+ /* Email styles need to be inline */
7
+ </style>
8
+ </head>
9
+
10
+ <body>
11
+ <%= yield %>
12
+ </body>
13
+ </html>
@@ -0,0 +1 @@
1
+ <%= yield %>