activejob 7.0.2.3 → 7.0.4

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: 5416033ac72d8ce63f88caf304aa19bea6160f7dd9a9f4ad6de2fe689d8f118b
4
- data.tar.gz: 41b4b36e508a2e68c21d3bd165a4c0333dc8df30f1e85822efdefd19e5a36d08
3
+ metadata.gz: 619c392b3b1934bf8928a00e6a3ccc7489d892a6e14789c532163656878ee46b
4
+ data.tar.gz: 9e2b6ef26f6da87c576e02fc63331afc17ff74771dbe3c72e1b653852cca24d1
5
5
  SHA512:
6
- metadata.gz: bd2b63dcdf5ffe4282eb0099225d52a397c5f0ed1ba22568edc171f34946e5e096095868912bc8bfce5644ce7c5353a3b39846793a7f295cfe0eee96633a8460
7
- data.tar.gz: 4b6fc4acd1bd3f8e88852b75978e1446c329f75566d34fc72bd0d2c9a409cf11f84982bcd552c3e11aa695d17cbf80c7ccaa5a4ac88d868014cce924d588d4ef
6
+ metadata.gz: 37154184efe19657d6994393ff0750c8507386d9620ac4afbe7551727dbe2f8f882bac214d01d99e993733fa94a0fd1250fdcb0a58cd43fd8cf73d5fb0ea9aab
7
+ data.tar.gz: 7225a316b52bb1c4b576ee98049aba194e5f1601047cb4b25531b5fcfbbc1f94600d9ff1ae4f642756b9bd501b06ee2c5f78e6f61a41dc08c95200013930b366
data/CHANGELOG.md CHANGED
@@ -1,3 +1,31 @@
1
+ ## Rails 7.0.4 (September 09, 2022) ##
2
+
3
+ * Update `ActiveJob::QueueAdapters::QueAdapter` to remove deprecation warning.
4
+
5
+ Remove a deprecation warning introduced in que 1.2 to prepare for changes in
6
+ que 2.0 necessary for Ruby 3 compatibility.
7
+
8
+ *Damir Zekic* and *Adis Hasovic*
9
+
10
+ ## Rails 7.0.3.1 (July 12, 2022) ##
11
+
12
+ * No changes.
13
+
14
+
15
+ ## Rails 7.0.3 (May 09, 2022) ##
16
+
17
+ * Add missing `bigdecimal` require in `ActiveJob::Arguments`
18
+
19
+ Could cause `uninitialized constant ActiveJob::Arguments::BigDecimal (NameError)`
20
+ when loading Active Job in isolation.
21
+
22
+ *Jean Boussier*
23
+
24
+ ## Rails 7.0.2.4 (April 26, 2022) ##
25
+
26
+ * No changes.
27
+
28
+
1
29
  ## Rails 7.0.2.3 (March 08, 2022) ##
2
30
 
3
31
  * No changes.
@@ -1,5 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "bigdecimal"
3
4
  require "active_support/core_ext/hash"
4
5
 
5
6
  module ActiveJob
@@ -17,7 +18,7 @@ module ActiveJob
17
18
  # currently support String, Integer, Float, NilClass, TrueClass, FalseClass,
18
19
  # BigDecimal, Symbol, Date, Time, DateTime, ActiveSupport::TimeWithZone,
19
20
  # ActiveSupport::Duration, Hash, ActiveSupport::HashWithIndifferentAccess,
20
- # Array, Range or GlobalID::Identification instances, although this can be
21
+ # Array, Range, or GlobalID::Identification instances, although this can be
21
22
  # extended by adding custom serializers.
22
23
  # Raised if you set the key for a Hash something else than a string or
23
24
  # a symbol. Also raised when trying to serialize an object which can't be
@@ -28,7 +28,6 @@ module ActiveJob
28
28
  end
29
29
 
30
30
  included do
31
- class_attribute :return_false_on_aborted_enqueue, instance_accessor: false, instance_predicate: false, default: false
32
31
  cattr_accessor :skip_after_callbacks_if_terminated, instance_accessor: false, default: false
33
32
  singleton_class.deprecate :skip_after_callbacks_if_terminated, :skip_after_callbacks_if_terminated=
34
33
 
@@ -17,7 +17,7 @@ module ActiveJob
17
17
  # Push a job onto the queue. By default the arguments must be either String,
18
18
  # Integer, Float, NilClass, TrueClass, FalseClass, BigDecimal, Symbol, Date,
19
19
  # Time, DateTime, ActiveSupport::TimeWithZone, ActiveSupport::Duration,
20
- # Hash, ActiveSupport::HashWithIndifferentAccess, Array, Range or
20
+ # Hash, ActiveSupport::HashWithIndifferentAccess, Array, Range, or
21
21
  # GlobalID::Identification instances, although this can be extended by adding
22
22
  # custom serializers.
23
23
  #
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ActiveJob
4
- # Returns the version of the currently loaded Active Job as a <tt>Gem::Version</tt>
4
+ # Returns the currently loaded version of Active Job as a <tt>Gem::Version</tt>.
5
5
  def self.gem_version
6
6
  Gem::Version.new VERSION::STRING
7
7
  end
@@ -9,8 +9,8 @@ module ActiveJob
9
9
  module VERSION
10
10
  MAJOR = 7
11
11
  MINOR = 0
12
- TINY = 2
13
- PRE = "3"
12
+ TINY = 4
13
+ PRE = nil
14
14
 
15
15
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
16
16
  end
@@ -18,22 +18,44 @@ module ActiveJob
18
18
  # Rails.application.config.active_job.queue_adapter = :que
19
19
  class QueAdapter
20
20
  def enqueue(job) # :nodoc:
21
- que_job = JobWrapper.enqueue job.serialize, priority: job.priority, queue: job.queue_name
21
+ job_options = { priority: job.priority, queue: job.queue_name }
22
+ que_job = nil
23
+
24
+ if require_job_options_kwarg?
25
+ que_job = JobWrapper.enqueue job.serialize, job_options: job_options
26
+ else
27
+ que_job = JobWrapper.enqueue job.serialize, **job_options
28
+ end
29
+
22
30
  job.provider_job_id = que_job.attrs["job_id"]
23
31
  que_job
24
32
  end
25
33
 
26
34
  def enqueue_at(job, timestamp) # :nodoc:
27
- que_job = JobWrapper.enqueue job.serialize, priority: job.priority, queue: job.queue_name, run_at: Time.at(timestamp)
35
+ job_options = { priority: job.priority, queue: job.queue_name, run_at: Time.at(timestamp) }
36
+ que_job = nil
37
+
38
+ if require_job_options_kwarg?
39
+ que_job = JobWrapper.enqueue job.serialize, job_options: job_options
40
+ else
41
+ que_job = JobWrapper.enqueue job.serialize, **job_options
42
+ end
43
+
28
44
  job.provider_job_id = que_job.attrs["job_id"]
29
45
  que_job
30
46
  end
31
47
 
32
- class JobWrapper < Que::Job # :nodoc:
33
- def run(job_data)
34
- Base.execute job_data
48
+ private
49
+ def require_job_options_kwarg?
50
+ @require_job_options_kwarg ||=
51
+ JobWrapper.method(:enqueue).parameters.any? { |ptype, pname| ptype == :key && pname == :job_options }
52
+ end
53
+
54
+ class JobWrapper < Que::Job # :nodoc:
55
+ def run(job_data)
56
+ Base.execute job_data
57
+ end
35
58
  end
36
- end
37
59
  end
38
60
  end
39
61
  end
@@ -5,10 +5,10 @@ module ActiveJob
5
5
  # == Test adapter for Active Job
6
6
  #
7
7
  # The test adapter should be used only in testing. Along with
8
- # <tt>ActiveJob::TestCase</tt> and <tt>ActiveJob::TestHelper</tt>
8
+ # ActiveJob::TestCase and ActiveJob::TestHelper
9
9
  # it makes a great tool to test your Rails application.
10
10
  #
11
- # To use the test adapter set queue_adapter config to +:test+.
11
+ # To use the test adapter set +queue_adapter+ config to +:test+.
12
12
  #
13
13
  # Rails.application.config.active_job.queue_adapter = :test
14
14
  class TestAdapter
@@ -57,12 +57,12 @@ module ActiveJob
57
57
  # Specifies the queue adapter to use with all Active Job test helpers.
58
58
  #
59
59
  # Returns an instance of the queue adapter and defaults to
60
- # <tt>ActiveJob::QueueAdapters::TestAdapter</tt>.
60
+ # ActiveJob::QueueAdapters::TestAdapter.
61
61
  #
62
62
  # Note: The adapter provided by this method must provide some additional
63
- # methods from those expected of a standard <tt>ActiveJob::QueueAdapter</tt>
63
+ # methods from those expected of a standard ActiveJob::QueueAdapter
64
64
  # in order to be used with the active job test helpers. Refer to
65
- # <tt>ActiveJob::QueueAdapters::TestAdapter</tt>.
65
+ # ActiveJob::QueueAdapters::TestAdapter.
66
66
  def queue_adapter_for_test
67
67
  ActiveJob::QueueAdapters::TestAdapter.new
68
68
  end
@@ -109,7 +109,7 @@ module ActiveJob
109
109
  # end
110
110
  # end
111
111
  #
112
- # +:only+ and +:except+ options accept Class, Array of Class or Proc. When passed a Proc,
112
+ # +:only+ and +:except+ options accept Class, Array of Class, or Proc. When passed a Proc,
113
113
  # a hash containing the job's class and it's argument are passed as argument.
114
114
  #
115
115
  # Asserts the number of times a job is enqueued to a specific queue by passing +:queue+ option.
@@ -168,7 +168,7 @@ module ActiveJob
168
168
  # end
169
169
  # end
170
170
  #
171
- # +:only+ and +:except+ options accept Class, Array of Class or Proc. When passed a Proc,
171
+ # +:only+ and +:except+ options accept Class, Array of Class, or Proc. When passed a Proc,
172
172
  # a hash containing the job's class and it's argument are passed as argument.
173
173
  #
174
174
  # Asserts that no jobs are enqueued to a specific queue by passing +:queue+ option
@@ -325,7 +325,7 @@ module ActiveJob
325
325
  # end
326
326
  # end
327
327
  #
328
- # +:only+ and +:except+ options accept Class, Array of Class or Proc. When passed a Proc,
328
+ # +:only+ and +:except+ options accept Class, Array of Class, or Proc. When passed a Proc,
329
329
  # an instance of the job will be passed as argument.
330
330
  #
331
331
  # If the +:queue+ option is specified,
@@ -579,7 +579,7 @@ module ActiveJob
579
579
  # assert_performed_jobs 1
580
580
  # end
581
581
  #
582
- # +:only+ and +:except+ options accept Class, Array of Class or Proc. When passed a Proc,
582
+ # +:only+ and +:except+ options accept Class, Array of Class, or Proc. When passed a Proc,
583
583
  # an instance of the job will be passed as argument.
584
584
  #
585
585
  # If the +:queue+ option is specified,
@@ -3,7 +3,7 @@
3
3
  require_relative "gem_version"
4
4
 
5
5
  module ActiveJob
6
- # Returns the version of the currently loaded Active Job as a <tt>Gem::Version</tt>
6
+ # Returns the currently loaded version of Active Job as a <tt>Gem::Version</tt>.
7
7
  def self.version
8
8
  gem_version
9
9
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activejob
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.2.3
4
+ version: 7.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-08 00:00:00.000000000 Z
11
+ date: 2022-09-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 7.0.2.3
19
+ version: 7.0.4
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: 7.0.2.3
26
+ version: 7.0.4
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: globalid
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -100,10 +100,10 @@ licenses:
100
100
  - MIT
101
101
  metadata:
102
102
  bug_tracker_uri: https://github.com/rails/rails/issues
103
- changelog_uri: https://github.com/rails/rails/blob/v7.0.2.3/activejob/CHANGELOG.md
104
- documentation_uri: https://api.rubyonrails.org/v7.0.2.3/
103
+ changelog_uri: https://github.com/rails/rails/blob/v7.0.4/activejob/CHANGELOG.md
104
+ documentation_uri: https://api.rubyonrails.org/v7.0.4/
105
105
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
106
- source_code_uri: https://github.com/rails/rails/tree/v7.0.2.3/activejob
106
+ source_code_uri: https://github.com/rails/rails/tree/v7.0.4/activejob
107
107
  rubygems_mfa_required: 'true'
108
108
  post_install_message:
109
109
  rdoc_options: []
@@ -120,7 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
120
120
  - !ruby/object:Gem::Version
121
121
  version: '0'
122
122
  requirements: []
123
- rubygems_version: 3.1.6
123
+ rubygems_version: 3.3.3
124
124
  signing_key:
125
125
  specification_version: 4
126
126
  summary: Job framework with pluggable queues.