delayed 0.7.0 → 0.7.1

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
  SHA256:
3
- metadata.gz: 56e1fb1ba1756335d42efb26a1469fecab4eb40817fb1783c5bd010db6aa799f
4
- data.tar.gz: 003ee0881213a406571b19d293b145a48eee377f6aef1282f701d76429816e9e
3
+ metadata.gz: 223856c2ccfb73e2f42eed3da86e70b0a819a575028ca1d0ddbebe0fc757c1d6
4
+ data.tar.gz: b8d496dbd42774fcb7a5528cb4969b15a87cebd2c59899ad8dafa86438279874
5
5
  SHA512:
6
- metadata.gz: a2cccc74e3a2ecbb2459008fe9d399ebf2572dba782cd660bdd69bf4aafbab421a545952206fe1767edd03b9b38655f1e4a4209d9dd30060631499d3d949fba0
7
- data.tar.gz: f92d61ae2788cc3fa6e5a1d84150571516caf7d8e520057efc90f80de24bf1d402a5e01243c18eae903d46e48849ab044809e466fc687a02ab4f07c179118ec1
6
+ metadata.gz: 5770b2945b0ff2e2a5f80a5cad81c8dd506c41519897e19ad29f973b57250891f3aa31c2d57135f69c960de12ea0724ad4bfa2bc68f445be6699851177a67b5e
7
+ data.tar.gz: 89dbae3fb440d8cef88ed57131131ca7d3081b8039f772b6d88ebbd09332f7ffa9a2cfe09e5505d5c422ce69b82ae8344bf79d475022aa454594e87ef559e1d6
@@ -17,7 +17,7 @@ module Delayed
17
17
  private
18
18
 
19
19
  def _enqueue(job, opts = {})
20
- if job.class.respond_to?(:enqueue_after_transaction_commit) && job.class.enqueue_after_transaction_commit == :always
20
+ if enqueue_after_transaction_commit_enabled?(job)
21
21
  raise UnsafeEnqueueError, "The ':delayed' ActiveJob adapter is not compatible with enqueue_after_transaction_commit"
22
22
  end
23
23
 
@@ -29,6 +29,11 @@ module Delayed
29
29
  end
30
30
  end
31
31
 
32
+ def enqueue_after_transaction_commit_enabled?(job)
33
+ job.class.respond_to?(:enqueue_after_transaction_commit) &&
34
+ [true, :always].include?(job.class.enqueue_after_transaction_commit)
35
+ end
36
+
32
37
  module EnqueuingPatch
33
38
  def self.included(klass)
34
39
  klass.prepend PrependedMethods
@@ -295,7 +295,9 @@ RSpec.describe Delayed::ActiveJobAdapter do
295
295
  end
296
296
 
297
297
  it 'raises an exception on enqueue' do
298
- expect { JobClass.perform_later }.to raise_error(Delayed::ActiveJobAdapter::UnsafeEnqueueError)
298
+ ActiveJob.deprecator.silence do
299
+ expect { JobClass.perform_later }.to raise_error(Delayed::ActiveJobAdapter::UnsafeEnqueueError)
300
+ end
299
301
  end
300
302
  end
301
303
 
@@ -306,7 +308,33 @@ RSpec.describe Delayed::ActiveJobAdapter do
306
308
  end
307
309
 
308
310
  it 'does not raises an exception on enqueue' do
309
- expect { JobClass.perform_later }.not_to raise_error(Delayed::ActiveJobAdapter::UnsafeEnqueueError)
311
+ ActiveJob.deprecator.silence do
312
+ expect { JobClass.perform_later }.not_to raise_error
313
+ end
314
+ end
315
+ end
316
+ end
317
+
318
+ if ActiveJob.gem_version.release >= Gem::Version.new('8.0')
319
+ context 'when the given job sets enqueue_after_transaction_commit to true' do
320
+ before do
321
+ JobClass.include ActiveJob::EnqueueAfterTransactionCommit # normally run in an ActiveJob railtie
322
+ JobClass.enqueue_after_transaction_commit = true
323
+ end
324
+
325
+ it 'raises an exception on enqueue' do
326
+ expect { JobClass.perform_later }.to raise_error(Delayed::ActiveJobAdapter::UnsafeEnqueueError)
327
+ end
328
+ end
329
+
330
+ context 'when the given job sets enqueue_after_transaction_commit to false' do
331
+ before do
332
+ JobClass.include ActiveJob::EnqueueAfterTransactionCommit # normally run in an ActiveJob railtie
333
+ JobClass.enqueue_after_transaction_commit = false
334
+ end
335
+
336
+ it 'does not raises an exception on enqueue' do
337
+ expect { JobClass.perform_later }.not_to raise_error
310
338
  end
311
339
  end
312
340
  end
data/spec/helper.rb CHANGED
@@ -10,6 +10,13 @@ require 'sample_jobs'
10
10
 
11
11
  require 'rake'
12
12
 
13
+ if ActiveSupport.gem_version >= Gem::Version.new('7.1')
14
+ frameworks = [ActiveModel, ActiveRecord, ActionMailer, ActiveJob, ActiveSupport]
15
+ frameworks.each { |framework| framework.deprecator.behavior = :raise }
16
+ else
17
+ ActiveSupport::Deprecation.behavior = :raise
18
+ end
19
+
13
20
  if ENV['DEBUG_LOGS']
14
21
  Delayed.logger = Logger.new($stdout)
15
22
  else
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: delayed
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Griffith
@@ -18,7 +18,7 @@ authors:
18
18
  - Tobias Lütke
19
19
  bindir: bin
20
20
  cert_chain: []
21
- date: 2025-01-15 00:00:00.000000000 Z
21
+ date: 2025-01-24 00:00:00.000000000 Z
22
22
  dependencies:
23
23
  - !ruby/object:Gem::Dependency
24
24
  name: activerecord