good_job 2.16.1 → 2.17.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.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -5
  3. data/README.md +11 -15
  4. data/{engine/app → app}/assets/good_job/modules/application.js +0 -0
  5. data/{engine/app → app}/assets/good_job/modules/charts.js +0 -0
  6. data/{engine/app → app}/assets/good_job/modules/checkbox_toggle.js +0 -0
  7. data/{engine/app → app}/assets/good_job/modules/document_ready.js +0 -0
  8. data/{engine/app → app}/assets/good_job/modules/live_poll.js +0 -0
  9. data/{engine/app → app}/assets/good_job/modules/toasts.js +0 -0
  10. data/{engine/app → app}/assets/good_job/scripts.js +0 -0
  11. data/{engine/app → app}/assets/good_job/style.css +0 -0
  12. data/{engine/app → app}/assets/good_job/vendor/bootstrap/bootstrap.bundle.min.js +0 -0
  13. data/{engine/app → app}/assets/good_job/vendor/bootstrap/bootstrap.min.css +0 -0
  14. data/{engine/app → app}/assets/good_job/vendor/chartjs/chart.min.js +0 -0
  15. data/{engine/app → app}/assets/good_job/vendor/es_module_shims.js +0 -0
  16. data/{engine/app → app}/assets/good_job/vendor/rails_ujs.js +0 -0
  17. data/{engine/app → app}/charts/good_job/scheduled_by_queue_chart.rb +0 -0
  18. data/{engine/app → app}/controllers/good_job/application_controller.rb +0 -0
  19. data/{engine/app → app}/controllers/good_job/assets_controller.rb +0 -0
  20. data/{engine/app → app}/controllers/good_job/cron_entries_controller.rb +0 -0
  21. data/{engine/app → app}/controllers/good_job/jobs_controller.rb +0 -0
  22. data/{engine/app → app}/controllers/good_job/processes_controller.rb +0 -0
  23. data/{engine/app → app}/filters/good_job/base_filter.rb +0 -0
  24. data/{engine/app → app}/filters/good_job/jobs_filter.rb +0 -0
  25. data/{engine/app → app}/helpers/good_job/application_helper.rb +0 -0
  26. data/{lib → app/models}/good_job/active_job_job.rb +2 -2
  27. data/{lib → app/models}/good_job/execution.rb +0 -0
  28. data/{lib → app/models}/good_job/process.rb +0 -0
  29. data/{engine/app → app}/views/good_job/cron_entries/index.html.erb +0 -0
  30. data/{engine/app → app}/views/good_job/cron_entries/show.html.erb +0 -0
  31. data/{engine/app → app}/views/good_job/jobs/_executions.erb +0 -0
  32. data/{engine/app → app}/views/good_job/jobs/_table.erb +0 -0
  33. data/{engine/app → app}/views/good_job/jobs/index.html.erb +0 -0
  34. data/{engine/app → app}/views/good_job/jobs/show.html.erb +0 -0
  35. data/{engine/app → app}/views/good_job/processes/index.html.erb +0 -0
  36. data/{engine/app → app}/views/good_job/shared/_alert.erb +0 -0
  37. data/{engine/app → app}/views/good_job/shared/_chart.erb +0 -0
  38. data/{engine/app → app}/views/good_job/shared/_filter.erb +0 -0
  39. data/{engine/app → app}/views/good_job/shared/_footer.erb +0 -0
  40. data/{engine/app → app}/views/good_job/shared/_navbar.erb +0 -0
  41. data/{engine/app → app}/views/good_job/shared/icons/_arrow_clockwise.html.erb +0 -0
  42. data/{engine/app → app}/views/good_job/shared/icons/_check.html.erb +0 -0
  43. data/{engine/app → app}/views/good_job/shared/icons/_clock.html.erb +0 -0
  44. data/{engine/app → app}/views/good_job/shared/icons/_dash_circle.html.erb +0 -0
  45. data/{engine/app → app}/views/good_job/shared/icons/_exclamation.html.erb +0 -0
  46. data/{engine/app → app}/views/good_job/shared/icons/_play.html.erb +0 -0
  47. data/{engine/app → app}/views/good_job/shared/icons/_skip_forward.html.erb +0 -0
  48. data/{engine/app → app}/views/good_job/shared/icons/_stop.html.erb +0 -0
  49. data/{engine/app → app}/views/good_job/shared/icons/_trash.html.erb +0 -0
  50. data/{engine/app → app}/views/layouts/good_job/application.html.erb +0 -0
  51. data/{engine/config → config}/locales/en.yml +0 -0
  52. data/{engine/config → config}/locales/es.yml +0 -0
  53. data/{engine/config → config}/locales/nl.yml +0 -0
  54. data/{engine/config → config}/locales/ru.yml +0 -0
  55. data/{engine/config → config}/routes.rb +0 -0
  56. data/lib/good_job/{railtie.rb → engine.rb} +3 -1
  57. data/lib/good_job/version.rb +1 -1
  58. data/lib/good_job.rb +1 -2
  59. metadata +56 -58
  60. data/engine/lib/good_job/engine.rb +0 -6
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6f37fb872be59c7ead625a1ff54ad50d39206209c87bf11f8a88bd7f2f484676
4
- data.tar.gz: 50c80eebdd8654894ad26ed052fa0ddfedac8dd30e100e260541d0b1d21d6951
3
+ metadata.gz: 92c29f2bed6e36f449e880b5433c089351c63d1365cdc094b774122202407fb3
4
+ data.tar.gz: 4125a6cfb9e3c0d3de88bd8cdfb64acb450f8c6072fc2aa6a0907f9b51083add
5
5
  SHA512:
6
- metadata.gz: c6aff64526dcc2989f14e6a7b4fe1a5be5a13df166a13c2055f10eada589f0f8d9586be7a98be94e4e16f81c55524c260cb28b52771a8f8a62064553fa426b5e
7
- data.tar.gz: 4f64c31ecf4ff9149d35c0611b1d04158ec7ee1f92cefcbce831f1c442d551d7f406a818d4a111b7c4e848d2ecf15f66dd0968d6224f5d51c2a65394075b3237
6
+ metadata.gz: cd6b4fbce879de227852b9399bbb65739933b50732dfc5be5a3563162c55375d1d366d4796bf163c4d12683a7f03668ef7a80d73e229343debe622c7e7ccd2b1
7
+ data.tar.gz: 5f4fac41e04a0844b93cc482e24b910e599ccabf411ac6841e7519cb6d573a6d7bb82070f6a35ffc40a1937256f910e9e6995cc5a9090e779c9b2eac33a8d901
data/CHANGELOG.md CHANGED
@@ -1,25 +1,39 @@
1
1
  # Changelog
2
2
 
3
+ ## [v2.17.0](https://github.com/bensheldon/good_job/tree/v2.17.0) (2022-06-23)
4
+
5
+ [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.16.1...v2.17.0)
6
+
7
+ **Merged pull requests:**
8
+
9
+ - Remove nonexistant `engine/lib` from $LOAD\_PATH [\#629](https://github.com/bensheldon/good_job/pull/629) ([bensheldon](https://github.com/bensheldon))
10
+ - Mention in README that dashboard can't see completed jobs unless they are preserved [\#627](https://github.com/bensheldon/good_job/pull/627) ([jrochkind](https://github.com/jrochkind))
11
+ - Clarify README on default in development [\#623](https://github.com/bensheldon/good_job/pull/623) ([jrochkind](https://github.com/jrochkind))
12
+ - Convert GoodJob into a single mountable engine \(instead of a plugin plus optional engine\) [\#554](https://github.com/bensheldon/good_job/pull/554) ([bensheldon](https://github.com/bensheldon))
13
+
3
14
  ## [v2.16.1](https://github.com/bensheldon/good_job/tree/v2.16.1) (2022-06-18)
4
15
 
5
16
  [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.16.0...v2.16.1)
6
17
 
7
- **Merged pull requests:**
18
+ **Fixed bugs:**
8
19
 
9
20
  - Fix `:inline` mode with future behavior to run unscheduled jobs immediately [\#620](https://github.com/bensheldon/good_job/pull/620) ([bensheldon](https://github.com/bensheldon))
21
+
22
+ **Merged pull requests:**
23
+
10
24
  - Version check `Zeitwerk::Loader.new(warn_on_extra_files: false)` flag [\#619](https://github.com/bensheldon/good_job/pull/619) ([bensheldon](https://github.com/bensheldon))
11
25
 
12
26
  ## [v2.16.0](https://github.com/bensheldon/good_job/tree/v2.16.0) (2022-06-17)
13
27
 
14
28
  [Full Changelog](https://github.com/bensheldon/good_job/compare/v2.15.2...v2.16.0)
15
29
 
16
- **Closed issues:**
30
+ **Implemented enhancements:**
17
31
 
18
- - Upgrading zeitwerk to 2.6.0 causes a warning related to good\_job [\#616](https://github.com/bensheldon/good_job/issues/616)
32
+ - Allow inline executor to respect scheduled jobs; deprecate old behavior. Add `GoodJob.perform_inline` [\#615](https://github.com/bensheldon/good_job/pull/615) ([bensheldon](https://github.com/bensheldon))
19
33
 
20
- **Merged pull requests:**
34
+ **Closed issues:**
21
35
 
22
- - Allow inline executor to respect scheduled jobs; deprecate old behavior. Add `GoodJob.perform_inline` [\#615](https://github.com/bensheldon/good_job/pull/615) ([bensheldon](https://github.com/bensheldon))
36
+ - Upgrading zeitwerk to 2.6.0 causes a warning related to good\_job [\#616](https://github.com/bensheldon/good_job/issues/616)
23
37
 
24
38
  ## [v2.15.2](https://github.com/bensheldon/good_job/tree/v2.15.2) (2022-06-17)
25
39
 
data/README.md CHANGED
@@ -116,7 +116,7 @@ For more of the story of GoodJob, read the [introductory blog post](https://isla
116
116
  YourJob.set(queue: :some_queue, wait: 5.minutes, priority: 10).perform_later
117
117
  ```
118
118
 
119
- 1. In development, GoodJob executes jobs immediately. In production, GoodJob provides different options:
119
+ 1. In development, GoodJob executes jobs immediately in a separate thread (async mode). In production, GoodJob provides different options:
120
120
 
121
121
  - By default, GoodJob separates job enqueuing from job execution so that jobs can be scaled independently of the web server. Use the GoodJob command-line tool to execute jobs:
122
122
 
@@ -332,19 +332,6 @@ _🚧 GoodJob's dashboard is a work in progress. Please contribute ideas and cod
332
332
 
333
333
  GoodJob includes a Dashboard as a mountable `Rails::Engine`.
334
334
 
335
- 1. Explicitly require the Engine code at the top of your `config/application.rb` file, immediately after Rails is required and before Bundler requires the Rails' groups. This is necessary because the mountable engine is an optional feature of GoodJob.
336
-
337
- ```ruby
338
- # config/application.rb
339
- require_relative 'boot'
340
-
341
- require 'rails/all'
342
- require 'good_job/engine' # <= Add this line
343
- # ...
344
- ```
345
-
346
- Note: If you find the dashboard fails to reload due to a routing error and uninitialized constant `GoodJob::ExecutionsController`, this is likely because you are not requiring the engine early enough.
347
-
348
335
  1. Mount the engine in your `config/routes.rb` file. The following will mount it at `http://example.com/good_job`.
349
336
 
350
337
  ```ruby
@@ -353,7 +340,7 @@ GoodJob includes a Dashboard as a mountable `Rails::Engine`.
353
340
  mount GoodJob::Engine => 'good_job'
354
341
  ```
355
342
 
356
- Because jobs can potentially contain sensitive information, you should authorize access. For example, using Devise's `authenticate` helper, that might look like:
343
+ 1. Configure authentication. Because jobs can potentially contain sensitive information, you should authorize access. For example, using Devise's `authenticate` helper, that might look like:
357
344
 
358
345
  ```ruby
359
346
  # config/routes.rb
@@ -373,6 +360,15 @@ GoodJob includes a Dashboard as a mountable `Rails::Engine`.
373
360
  end
374
361
  ```
375
362
 
363
+ 1. If you want to see finished (successful) and discarded (failed) jobs on the dashboard, you will have to configure job records to be preserved:
364
+
365
+ ```ruby
366
+ # eg in config/initializers/good_job.rb
367
+ GoodJob.preserve_job_records = true
368
+ ```
369
+
370
+ See more at [Monitor and preserve worked jobs](#monitor-and-preserve-worked-jobs)
371
+
376
372
  #### API-only Rails applications
377
373
 
378
374
  API-only Rails applications may not have all of the required Rack middleware for the GoodJob Dashboard to function. To re-add the middlware:
File without changes
File without changes
File without changes
File without changes
@@ -16,7 +16,7 @@ module GoodJob
16
16
  DiscardJobError = Class.new(StandardError)
17
17
 
18
18
  class << self
19
- delegate :table_name, to: Execution
19
+ delegate :table_name, to: GoodJob::Execution
20
20
 
21
21
  def table_name=(_value)
22
22
  raise NotImplementedError, 'Assign GoodJob::Execution.table_name directly'
@@ -26,7 +26,7 @@ module GoodJob
26
26
  self.primary_key = 'active_job_id'
27
27
  self.advisory_lockable_column = 'active_job_id'
28
28
 
29
- has_many :executions, -> { order(created_at: :asc) }, class_name: 'GoodJob::Execution', foreign_key: 'active_job_id', inverse_of: :job
29
+ has_many :executions, -> { order(created_at: :asc) }, class_name: 'GoodJob::Execution', foreign_key: 'active_job_id', inverse_of: :job # rubocop:disable Rails/HasManyOrHasOneDependent
30
30
 
31
31
  # Only the most-recent unretried execution represents a "Job"
32
32
  default_scope { where(retried_good_job_id: nil) }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,7 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
  module GoodJob
3
3
  # Ruby on Rails integration.
4
- class Railtie < ::Rails::Railtie
4
+ class Engine < ::Rails::Engine
5
+ isolate_namespace GoodJob
6
+
5
7
  config.good_job = ActiveSupport::OrderedOptions.new
6
8
  config.good_job.cron = {}
7
9
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
  module GoodJob
3
3
  # GoodJob gem version.
4
- VERSION = '2.16.1'
4
+ VERSION = '2.17.0'
5
5
  end
data/lib/good_job.rb CHANGED
@@ -1,5 +1,4 @@
1
1
  # frozen_string_literal: true
2
- require "rails"
3
2
  require "active_job"
4
3
  require "active_job/queue_adapters"
5
4
 
@@ -13,7 +12,7 @@ Zeitwerk::Loader.for_gem(**zeitwerk_options).tap do |loader|
13
12
  loader.setup
14
13
  end
15
14
 
16
- require "good_job/railtie"
15
+ require "good_job/engine"
17
16
 
18
17
  # GoodJob is a multithreaded, Postgres-based, ActiveJob backend for Ruby on Rails.
19
18
  #
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: good_job
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.16.1
4
+ version: 2.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ben Sheldon
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-06-18 00:00:00.000000000 Z
11
+ date: 2022-06-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activejob
@@ -360,56 +360,58 @@ files:
360
360
  - CHANGELOG.md
361
361
  - LICENSE.txt
362
362
  - README.md
363
- - engine/app/assets/good_job/modules/application.js
364
- - engine/app/assets/good_job/modules/charts.js
365
- - engine/app/assets/good_job/modules/checkbox_toggle.js
366
- - engine/app/assets/good_job/modules/document_ready.js
367
- - engine/app/assets/good_job/modules/live_poll.js
368
- - engine/app/assets/good_job/modules/toasts.js
369
- - engine/app/assets/good_job/scripts.js
370
- - engine/app/assets/good_job/style.css
371
- - engine/app/assets/good_job/vendor/bootstrap/bootstrap.bundle.min.js
372
- - engine/app/assets/good_job/vendor/bootstrap/bootstrap.min.css
373
- - engine/app/assets/good_job/vendor/chartjs/chart.min.js
374
- - engine/app/assets/good_job/vendor/es_module_shims.js
375
- - engine/app/assets/good_job/vendor/rails_ujs.js
376
- - engine/app/charts/good_job/scheduled_by_queue_chart.rb
377
- - engine/app/controllers/good_job/application_controller.rb
378
- - engine/app/controllers/good_job/assets_controller.rb
379
- - engine/app/controllers/good_job/cron_entries_controller.rb
380
- - engine/app/controllers/good_job/jobs_controller.rb
381
- - engine/app/controllers/good_job/processes_controller.rb
382
- - engine/app/filters/good_job/base_filter.rb
383
- - engine/app/filters/good_job/jobs_filter.rb
384
- - engine/app/helpers/good_job/application_helper.rb
385
- - engine/app/views/good_job/cron_entries/index.html.erb
386
- - engine/app/views/good_job/cron_entries/show.html.erb
387
- - engine/app/views/good_job/jobs/_executions.erb
388
- - engine/app/views/good_job/jobs/_table.erb
389
- - engine/app/views/good_job/jobs/index.html.erb
390
- - engine/app/views/good_job/jobs/show.html.erb
391
- - engine/app/views/good_job/processes/index.html.erb
392
- - engine/app/views/good_job/shared/_alert.erb
393
- - engine/app/views/good_job/shared/_chart.erb
394
- - engine/app/views/good_job/shared/_filter.erb
395
- - engine/app/views/good_job/shared/_footer.erb
396
- - engine/app/views/good_job/shared/_navbar.erb
397
- - engine/app/views/good_job/shared/icons/_arrow_clockwise.html.erb
398
- - engine/app/views/good_job/shared/icons/_check.html.erb
399
- - engine/app/views/good_job/shared/icons/_clock.html.erb
400
- - engine/app/views/good_job/shared/icons/_dash_circle.html.erb
401
- - engine/app/views/good_job/shared/icons/_exclamation.html.erb
402
- - engine/app/views/good_job/shared/icons/_play.html.erb
403
- - engine/app/views/good_job/shared/icons/_skip_forward.html.erb
404
- - engine/app/views/good_job/shared/icons/_stop.html.erb
405
- - engine/app/views/good_job/shared/icons/_trash.html.erb
406
- - engine/app/views/layouts/good_job/application.html.erb
407
- - engine/config/locales/en.yml
408
- - engine/config/locales/es.yml
409
- - engine/config/locales/nl.yml
410
- - engine/config/locales/ru.yml
411
- - engine/config/routes.rb
412
- - engine/lib/good_job/engine.rb
363
+ - app/assets/good_job/modules/application.js
364
+ - app/assets/good_job/modules/charts.js
365
+ - app/assets/good_job/modules/checkbox_toggle.js
366
+ - app/assets/good_job/modules/document_ready.js
367
+ - app/assets/good_job/modules/live_poll.js
368
+ - app/assets/good_job/modules/toasts.js
369
+ - app/assets/good_job/scripts.js
370
+ - app/assets/good_job/style.css
371
+ - app/assets/good_job/vendor/bootstrap/bootstrap.bundle.min.js
372
+ - app/assets/good_job/vendor/bootstrap/bootstrap.min.css
373
+ - app/assets/good_job/vendor/chartjs/chart.min.js
374
+ - app/assets/good_job/vendor/es_module_shims.js
375
+ - app/assets/good_job/vendor/rails_ujs.js
376
+ - app/charts/good_job/scheduled_by_queue_chart.rb
377
+ - app/controllers/good_job/application_controller.rb
378
+ - app/controllers/good_job/assets_controller.rb
379
+ - app/controllers/good_job/cron_entries_controller.rb
380
+ - app/controllers/good_job/jobs_controller.rb
381
+ - app/controllers/good_job/processes_controller.rb
382
+ - app/filters/good_job/base_filter.rb
383
+ - app/filters/good_job/jobs_filter.rb
384
+ - app/helpers/good_job/application_helper.rb
385
+ - app/models/good_job/active_job_job.rb
386
+ - app/models/good_job/execution.rb
387
+ - app/models/good_job/process.rb
388
+ - app/views/good_job/cron_entries/index.html.erb
389
+ - app/views/good_job/cron_entries/show.html.erb
390
+ - app/views/good_job/jobs/_executions.erb
391
+ - app/views/good_job/jobs/_table.erb
392
+ - app/views/good_job/jobs/index.html.erb
393
+ - app/views/good_job/jobs/show.html.erb
394
+ - app/views/good_job/processes/index.html.erb
395
+ - app/views/good_job/shared/_alert.erb
396
+ - app/views/good_job/shared/_chart.erb
397
+ - app/views/good_job/shared/_filter.erb
398
+ - app/views/good_job/shared/_footer.erb
399
+ - app/views/good_job/shared/_navbar.erb
400
+ - app/views/good_job/shared/icons/_arrow_clockwise.html.erb
401
+ - app/views/good_job/shared/icons/_check.html.erb
402
+ - app/views/good_job/shared/icons/_clock.html.erb
403
+ - app/views/good_job/shared/icons/_dash_circle.html.erb
404
+ - app/views/good_job/shared/icons/_exclamation.html.erb
405
+ - app/views/good_job/shared/icons/_play.html.erb
406
+ - app/views/good_job/shared/icons/_skip_forward.html.erb
407
+ - app/views/good_job/shared/icons/_stop.html.erb
408
+ - app/views/good_job/shared/icons/_trash.html.erb
409
+ - app/views/layouts/good_job/application.html.erb
410
+ - config/locales/en.yml
411
+ - config/locales/es.yml
412
+ - config/locales/nl.yml
413
+ - config/locales/ru.yml
414
+ - config/routes.rb
413
415
  - exe/good_job
414
416
  - lib/active_job/queue_adapters/good_job_adapter.rb
415
417
  - lib/generators/good_job/install_generator.rb
@@ -423,7 +425,6 @@ files:
423
425
  - lib/good_job.rb
424
426
  - lib/good_job/active_job_extensions.rb
425
427
  - lib/good_job/active_job_extensions/concurrency.rb
426
- - lib/good_job/active_job_job.rb
427
428
  - lib/good_job/adapter.rb
428
429
  - lib/good_job/assignable_connection.rb
429
430
  - lib/good_job/base_record.rb
@@ -435,7 +436,7 @@ files:
435
436
  - lib/good_job/current_thread.rb
436
437
  - lib/good_job/daemon.rb
437
438
  - lib/good_job/dependencies.rb
438
- - lib/good_job/execution.rb
439
+ - lib/good_job/engine.rb
439
440
  - lib/good_job/execution_result.rb
440
441
  - lib/good_job/filterable.rb
441
442
  - lib/good_job/job.rb
@@ -447,8 +448,6 @@ files:
447
448
  - lib/good_job/notifier/process_registration.rb
448
449
  - lib/good_job/poller.rb
449
450
  - lib/good_job/probe_server.rb
450
- - lib/good_job/process.rb
451
- - lib/good_job/railtie.rb
452
451
  - lib/good_job/scheduler.rb
453
452
  - lib/good_job/version.rb
454
453
  homepage: https://github.com/bensheldon/good_job
@@ -472,7 +471,6 @@ rdoc_options:
472
471
  - "--quiet"
473
472
  require_paths:
474
473
  - lib
475
- - engine/lib
476
474
  required_ruby_version: !ruby/object:Gem::Requirement
477
475
  requirements:
478
476
  - - ">="
@@ -484,7 +482,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
484
482
  - !ruby/object:Gem::Version
485
483
  version: '0'
486
484
  requirements: []
487
- rubygems_version: 3.2.33
485
+ rubygems_version: 3.3.16
488
486
  signing_key:
489
487
  specification_version: 4
490
488
  summary: A multithreaded, Postgres-based ActiveJob backend for Ruby on Rails
@@ -1,6 +0,0 @@
1
- # frozen_string_literal: true
2
- module GoodJob
3
- class Engine < ::Rails::Engine
4
- isolate_namespace GoodJob
5
- end
6
- end