activejob 7.2.2.1 → 8.0.5

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: c3b47492def92c2f9d51610a3b8ca696cbb32ff69fe45107ebaf478a69abc65f
4
- data.tar.gz: f05813374e5dec3e6b9e138585ef9ef23c87640187a42ea03e7db9d50d1e2362
3
+ metadata.gz: 789e176d52fcec2b2fd1844b522f6170f828f45519ed3a1c6144708ef20ec79c
4
+ data.tar.gz: 5a9d5a887191cfb1771c66877a8ebda6c7e694c835b9818a089f1e43cb33bd92
5
5
  SHA512:
6
- metadata.gz: 58e96af8f140d46c83bc3d9231ee6e8c330d71e724def12d20844d5af4280b12a4de63ba3c7e58157d32295193c55405fb292071c6f0494416f66ea46ad658a6
7
- data.tar.gz: a5f662c33aa37b48aa7643299cddaf5f76559feb7820468862b71aae7c0f725cf25ad098b0df2d951c810d76abaa10e49e24bdac3589b4c6bd9b683335856424
6
+ metadata.gz: 6c31ceaadaaac30f5018fad38d7361404aa0bfc1f7beed8c406954ed5cf971ad79fb9c5e212b234fdb9aa615e96700d7a0f5808fce576e457841f5afe52cee5a
7
+ data.tar.gz: 2df4827639124add7e8ddcf54e2345068e9edc89b9a03d89c5bfb2f47a6aeea5993bf6b4caa69eebb8b5d4cea4561fc840ad07874b410fce5fe0d9a3bef94c1c
data/CHANGELOG.md CHANGED
@@ -1,92 +1,81 @@
1
- ## Rails 7.2.2.1 (December 10, 2024) ##
1
+ ## Rails 8.0.5 (March 24, 2026) ##
2
2
 
3
3
  * No changes.
4
4
 
5
5
 
6
- ## Rails 7.2.2 (October 30, 2024) ##
6
+ ## Rails 8.0.4.1 (March 23, 2026) ##
7
7
 
8
8
  * No changes.
9
9
 
10
10
 
11
- ## Rails 7.2.1.2 (October 23, 2024) ##
11
+ ## Rails 8.0.4 (October 28, 2025) ##
12
12
 
13
13
  * No changes.
14
14
 
15
15
 
16
- ## Rails 7.2.1.1 (October 15, 2024) ##
16
+ ## Rails 8.0.3 (September 22, 2025) ##
17
17
 
18
- * No changes.
18
+ * Include the actual Active Job locale when serializing rather than I18n locale.
19
+
20
+ *Adrien S*
21
+
22
+ * Fix `retry_job` instrumentation when using `:test` adapter for Active Job.
23
+
24
+ *fatkodima*
19
25
 
20
26
 
21
- ## Rails 7.2.1 (August 22, 2024) ##
27
+ ## Rails 8.0.2.1 (August 13, 2025) ##
22
28
 
23
29
  * No changes.
24
30
 
25
31
 
26
- ## Rails 7.2.0 (August 09, 2024) ##
32
+ ## Rails 8.0.2 (March 12, 2025) ##
27
33
 
28
- * All tests now respect the `active_job.queue_adapter` config.
34
+ * No changes.
29
35
 
30
- Previously if you had set `config.active_job.queue_adapter` in your `config/application.rb`
31
- or `config/environments/test.rb` file, the adapter you selected was previously not used consistently
32
- across all tests. In some tests your adapter would be used, but other tests would use the `TestAdapter`.
33
36
 
34
- In Rails 7.2, all tests will respect the `queue_adapter` config if provided. If no config is provided,
35
- the `TestAdapter` will continue to be used.
37
+ ## Rails 8.0.1 (December 13, 2024) ##
36
38
 
37
- See [#48585](https://github.com/rails/rails/pull/48585) for more details.
39
+ * Avoid crashing in Active Job logger when logging enqueueing errors
38
40
 
39
- *Alex Ghiculescu*
41
+ `ActiveJob.perform_all_later` could fail with a `TypeError` when all
42
+ provided jobs failed to be enqueueed.
40
43
 
41
- * Make Active Job transaction aware when used conjointly with Active Record.
44
+ *Efstathios Stivaros*
42
45
 
43
- A common mistake with Active Job is to enqueue jobs from inside a transaction,
44
- causing them to potentially be picked and ran by another process, before the
45
- transaction is committed, which may result in various errors.
46
46
 
47
- ```ruby
48
- Topic.transaction do
49
- topic = Topic.create(...)
50
- NewTopicNotificationJob.perform_later(topic)
51
- end
52
- ```
47
+ ## Rails 8.0.0.1 (December 10, 2024) ##
53
48
 
54
- Now Active Job will automatically defer the enqueuing to after the transaction is committed,
55
- and drop the job if the transaction is rolled back.
49
+ * No changes.
56
50
 
57
- Various queue implementations can choose to disable this behavior, and users can disable it,
58
- or force it on a per job basis:
59
51
 
60
- ```ruby
61
- class NewTopicNotificationJob < ApplicationJob
62
- self.enqueue_after_transaction_commit = :never # or `:always` or `:default`
63
- end
64
- ```
52
+ ## Rails 8.0.0 (November 07, 2024) ##
65
53
 
66
- *Jean Boussier*, *Cristian Bica*
54
+ * No changes.
67
55
 
68
- * Do not trigger immediate loading of `ActiveJob::Base` when loading `ActiveJob::TestHelper`.
69
56
 
70
- *Maxime Réty*
57
+ ## Rails 8.0.0.rc2 (October 30, 2024) ##
58
+
59
+ * No changes.
71
60
 
72
- * Preserve the serialized timezone when deserializing `ActiveSupport::TimeWithZone` arguments.
73
61
 
74
- *Joshua Young*
62
+ ## Rails 8.0.0.rc1 (October 19, 2024) ##
75
63
 
76
- * Remove deprecated `:exponentially_longer` value for the `:wait` in `retry_on`.
64
+ * Remove deprecated `config.active_job.use_big_decimal_serializer`.
77
65
 
78
66
  *Rafael Mendonça França*
79
67
 
80
- * Remove deprecated support to set numeric values to `scheduled_at` attribute.
81
68
 
82
- *Rafael Mendonça França*
69
+ ## Rails 8.0.0.beta1 (September 26, 2024) ##
83
70
 
84
- * Deprecate `Rails.application.config.active_job.use_big_decimal_serialize`.
71
+ * Deprecate `sucker_punch` as an adapter option.
85
72
 
86
- *Rafael Mendonça França*
73
+ If you're using this adapter, change to `adapter: async` for the same functionality.
87
74
 
88
- * Remove deprecated primitive serializer for `BigDecimal` arguments.
75
+ *Dino Maric, zzak*
89
76
 
90
- *Rafael Mendonça França*
77
+ * Use `RAILS_MAX_THREADS` in `ActiveJob::AsyncAdapter`. If it is not set, use 5 as default.
78
+
79
+ *heka1024*
91
80
 
92
- Please check [7-1-stable](https://github.com/rails/rails/blob/7-1-stable/activejob/CHANGELOG.md) for previous changes.
81
+ Please check [7-2-stable](https://github.com/rails/rails/blob/7-2-stable/activejob/CHANGELOG.md) for previous changes.
data/README.md CHANGED
@@ -126,6 +126,6 @@ Bug reports for the Ruby on \Rails project can be filed here:
126
126
 
127
127
  * https://github.com/rails/rails/issues
128
128
 
129
- Feature requests should be discussed on the rails-core mailing list here:
129
+ Feature requests should be discussed on the rubyonrails-core forum here:
130
130
 
131
131
  * https://discuss.rubyonrails.org/c/rubyonrails-core
@@ -40,7 +40,7 @@ module ActiveJob # :nodoc:
40
40
  # end
41
41
  #
42
42
  # Records that are passed in are serialized/deserialized using Global
43
- # ID. More information can be found in Arguments.
43
+ # ID. More information can be found in ActiveJob::Arguments.
44
44
  #
45
45
  # To enqueue a job to be performed as soon as the queuing system is free:
46
46
  #
@@ -50,7 +50,7 @@ module ActiveJob # :nodoc:
50
50
  #
51
51
  # ProcessPhotoJob.set(wait_until: Date.tomorrow.noon).perform_later(photo)
52
52
  #
53
- # More information can be found in ActiveJob::Core::ClassMethods#set
53
+ # More information can be found in ActiveJob::Core::ClassMethods#set.
54
54
  #
55
55
  # A job can also be processed immediately without sending to the queue:
56
56
  #
@@ -14,9 +14,5 @@ module ActiveJob
14
14
  def perform_later(...)
15
15
  @job_class.new(...).enqueue @options
16
16
  end
17
-
18
- def perform_all_later(multi_args)
19
- @job_class.perform_all_later(multi_args, options: @options)
20
- end
21
17
  end
22
18
  end
@@ -114,7 +114,7 @@ module ActiveJob
114
114
  "arguments" => serialize_arguments_if_needed(arguments),
115
115
  "executions" => executions,
116
116
  "exception_executions" => exception_executions,
117
- "locale" => I18n.locale.to_s,
117
+ "locale" => locale || I18n.locale.to_s,
118
118
  "timezone" => timezone,
119
119
  "enqueued_at" => Time.now.utc.iso8601(9),
120
120
  "scheduled_at" => scheduled_at ? scheduled_at.utc.iso8601(9) : nil,
@@ -157,8 +157,8 @@ module ActiveJob
157
157
  self.exception_executions = job_data["exception_executions"]
158
158
  self.locale = job_data["locale"] || I18n.locale.to_s
159
159
  self.timezone = job_data["timezone"] || Time.zone&.name
160
- self.enqueued_at = Time.iso8601(job_data["enqueued_at"]) if job_data["enqueued_at"]
161
- self.scheduled_at = Time.iso8601(job_data["scheduled_at"]) if job_data["scheduled_at"]
160
+ self.enqueued_at = deserialize_time(job_data["enqueued_at"]) if job_data["enqueued_at"]
161
+ self.scheduled_at = deserialize_time(job_data["scheduled_at"]) if job_data["scheduled_at"]
162
162
  end
163
163
 
164
164
  # Configures the job with the given options.
@@ -198,5 +198,13 @@ module ActiveJob
198
198
  def arguments_serialized?
199
199
  @serialized_arguments
200
200
  end
201
+
202
+ def deserialize_time(time)
203
+ if time.is_a?(Time)
204
+ time
205
+ else
206
+ Time.iso8601(time)
207
+ end
208
+ end
201
209
  end
202
210
  end
@@ -4,13 +4,29 @@ module ActiveJob
4
4
  module EnqueueAfterTransactionCommit # :nodoc:
5
5
  private
6
6
  def raw_enqueue
7
+ enqueue_after_transaction_commit = self.class.enqueue_after_transaction_commit
8
+
7
9
  after_transaction = case self.class.enqueue_after_transaction_commit
8
10
  when :always
11
+ ActiveJob.deprecator.warn(<<~MSG.squish)
12
+ Setting `#{self.class.name}.enqueue_after_transaction_commit = :always` is deprecated and will be removed in Rails 8.1.
13
+ Set to `true` to always enqueue the job after the transaction is committed.
14
+ MSG
9
15
  true
10
16
  when :never
17
+ ActiveJob.deprecator.warn(<<~MSG.squish)
18
+ Setting `#{self.class.name}.enqueue_after_transaction_commit = :never` is deprecated and will be removed in Rails 8.1.
19
+ Set to `false` to never enqueue the job after the transaction is committed.
20
+ MSG
21
+ false
22
+ when :default
23
+ ActiveJob.deprecator.warn(<<~MSG.squish)
24
+ Setting `#{self.class.name}.enqueue_after_transaction_commit = :default` is deprecated and will be removed in Rails 8.1.
25
+ Set to `false` to never enqueue the job after the transaction is committed.
26
+ MSG
11
27
  false
12
- else # :default
13
- queue_adapter.enqueue_after_transaction_commit?
28
+ else
29
+ enqueue_after_transaction_commit
14
30
  end
15
31
 
16
32
  if after_transaction
@@ -48,10 +48,9 @@ module ActiveJob
48
48
  # automatically defers the enqueue to after the transaction commits.
49
49
  #
50
50
  # It can be set on a per job basis:
51
- # - `:always` forces the job to be deferred.
52
- # - `:never` forces the job to be queued immediately.
53
- # - `:default` lets the queue adapter define the behavior (recommended).
54
- class_attribute :enqueue_after_transaction_commit, instance_accessor: false, instance_predicate: false, default: :never
51
+ # - true forces the job to be deferred.
52
+ # - false forces the job to be queued immediately.
53
+ class_attribute :enqueue_after_transaction_commit, instance_accessor: false, instance_predicate: false, default: false
55
54
  end
56
55
 
57
56
  # Includes the +perform_later+ method for job initialization.
@@ -150,7 +150,8 @@ module ActiveJob
150
150
  # end
151
151
  def retry_job(options = {})
152
152
  instrument :enqueue_retry, options.slice(:error, :wait) do
153
- enqueue options
153
+ job = dup
154
+ job.enqueue options
154
155
  end
155
156
  end
156
157
 
@@ -7,10 +7,10 @@ module ActiveJob
7
7
  end
8
8
 
9
9
  module VERSION
10
- MAJOR = 7
11
- MINOR = 2
12
- TINY = 2
13
- PRE = "1"
10
+ MAJOR = 8
11
+ MINOR = 0
12
+ TINY = 5
13
+ PRE = nil
14
14
 
15
15
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join(".")
16
16
  end
@@ -50,7 +50,7 @@ module ActiveJob
50
50
  info do
51
51
  jobs = event.payload[:jobs]
52
52
  adapter = event.payload[:adapter]
53
- enqueued_count = event.payload[:enqueued_count]
53
+ enqueued_count = event.payload[:enqueued_count].to_i
54
54
 
55
55
  if enqueued_count == jobs.size
56
56
  enqueued_jobs_message(adapter, jobs)
@@ -189,15 +189,19 @@ module ActiveJob
189
189
  end
190
190
 
191
191
  def log_enqueue_source
192
- source = extract_enqueue_source_location(caller)
192
+ source = enqueue_source_location
193
193
 
194
194
  if source
195
195
  logger.info("↳ #{source}")
196
196
  end
197
197
  end
198
198
 
199
- def extract_enqueue_source_location(locations)
200
- backtrace_cleaner.clean(locations.lazy).first
199
+ def enqueue_source_location
200
+ Thread.each_caller_location do |location|
201
+ frame = backtrace_cleaner.clean_frame(location)
202
+ return frame if frame
203
+ end
204
+ nil
201
205
  end
202
206
 
203
207
  def enqueued_jobs_message(adapter, enqueued_jobs)
@@ -50,6 +50,7 @@ module ActiveJob
50
50
  case name_or_adapter
51
51
  when Symbol, String
52
52
  queue_adapter = ActiveJob::QueueAdapters.lookup(name_or_adapter).new
53
+ queue_adapter.try(:check_adapter)
53
54
  assign_adapter(name_or_adapter.to_s, queue_adapter)
54
55
  else
55
56
  if queue_adapter?(name_or_adapter)
@@ -7,14 +7,6 @@ module ActiveJob
7
7
  # Active Job supports multiple job queue systems. ActiveJob::QueueAdapters::AbstractAdapter
8
8
  # forms the abstraction layer which makes this possible.
9
9
  class AbstractAdapter
10
- # Defines whether enqueuing should happen implicitly to after commit when called
11
- # from inside a transaction. Most adapters should return true, but some adapters
12
- # that use the same database as Active Record and are transaction aware can return
13
- # false to continue enqueuing jobs as part of the transaction.
14
- def enqueue_after_transaction_commit?
15
- true
16
- end
17
-
18
10
  def enqueue(job)
19
11
  raise NotImplementedError
20
12
  end
@@ -74,7 +74,7 @@ module ActiveJob
74
74
  class Scheduler # :nodoc:
75
75
  DEFAULT_EXECUTOR_OPTIONS = {
76
76
  min_threads: 0,
77
- max_threads: Concurrent.processor_count,
77
+ max_threads: ENV.fetch("RAILS_MAX_THREADS", 5).to_i,
78
78
  auto_terminate: true,
79
79
  idletime: 60, # 1 minute
80
80
  max_queue: 0, # unlimited
@@ -16,14 +16,6 @@ module ActiveJob
16
16
  #
17
17
  # Rails.application.config.active_job.queue_adapter = :delayed_job
18
18
  class DelayedJobAdapter < AbstractAdapter
19
- def initialize(enqueue_after_transaction_commit: false)
20
- @enqueue_after_transaction_commit = enqueue_after_transaction_commit
21
- end
22
-
23
- def enqueue_after_transaction_commit? # :nodoc:
24
- @enqueue_after_transaction_commit
25
- end
26
-
27
19
  def enqueue(job) # :nodoc:
28
20
  delayed_job = Delayed::Job.enqueue(JobWrapper.new(job.serialize), queue: job.queue_name, priority: job.priority)
29
21
  job.provider_job_id = delayed_job.id
@@ -11,10 +11,6 @@ module ActiveJob
11
11
  #
12
12
  # Rails.application.config.active_job.queue_adapter = :inline
13
13
  class InlineAdapter < AbstractAdapter
14
- def enqueue_after_transaction_commit? # :nodoc:
15
- false
16
- end
17
-
18
14
  def enqueue(job) # :nodoc:
19
15
  Base.execute(job.serialize)
20
16
  end
@@ -19,14 +19,6 @@ module ActiveJob
19
19
  #
20
20
  # Rails.application.config.active_job.queue_adapter = :queue_classic
21
21
  class QueueClassicAdapter < AbstractAdapter
22
- def initialize(enqueue_after_transaction_commit: false)
23
- @enqueue_after_transaction_commit = enqueue_after_transaction_commit
24
- end
25
-
26
- def enqueue_after_transaction_commit? # :nodoc:
27
- @enqueue_after_transaction_commit
28
- end
29
-
30
22
  def enqueue(job) # :nodoc:
31
23
  qc_job = build_queue(job.queue_name).enqueue("#{JobWrapper.name}.perform", job.serialize)
32
24
  job.provider_job_id = qc_job["id"] if qc_job.is_a?(Hash)
@@ -18,6 +18,13 @@ module ActiveJob
18
18
  #
19
19
  # Rails.application.config.active_job.queue_adapter = :sucker_punch
20
20
  class SuckerPunchAdapter < AbstractAdapter
21
+ def check_adapter
22
+ ActiveJob.deprecator.warn <<~MSG.squish
23
+ The `sucker_punch` adapter is deprecated and will be removed in Rails 8.1.
24
+ Please use the `async` adapter instead.
25
+ MSG
26
+ end
27
+
21
28
  def enqueue(job) # :nodoc:
22
29
  if JobWrapper.respond_to?(:perform_async)
23
30
  # sucker_punch 2.0 API
@@ -12,17 +12,9 @@ module ActiveJob
12
12
  #
13
13
  # Rails.application.config.active_job.queue_adapter = :test
14
14
  class TestAdapter < AbstractAdapter
15
- attr_accessor(:perform_enqueued_jobs, :perform_enqueued_at_jobs, :filter, :reject, :queue, :at, :enqueue_after_transaction_commit)
15
+ attr_accessor(:perform_enqueued_jobs, :perform_enqueued_at_jobs, :filter, :reject, :queue, :at)
16
16
  attr_writer(:enqueued_jobs, :performed_jobs)
17
17
 
18
- def initialize(enqueue_after_transaction_commit: true)
19
- @enqueue_after_transaction_commit = enqueue_after_transaction_commit
20
- end
21
-
22
- def enqueue_after_transaction_commit? # :nodoc:
23
- @enqueue_after_transaction_commit
24
- end
25
-
26
18
  # Provides a store of all the enqueued jobs with the TestAdapter so you can check them.
27
19
  def enqueued_jobs
28
20
  @enqueued_jobs ||= []
@@ -12,7 +12,6 @@ module ActiveJob
12
12
  # * {Resque}[https://github.com/resque/resque]
13
13
  # * {Sidekiq}[https://sidekiq.org]
14
14
  # * {Sneakers}[https://github.com/jondot/sneakers]
15
- # * {Sucker Punch}[https://github.com/brandonhilkert/sucker_punch]
16
15
  # * Please Note: We are not accepting pull requests for new adapters. See the {README}[link:files/activejob/README_md.html] for more details.
17
16
  #
18
17
  # For testing and development Active Job has three built-in adapters:
@@ -32,7 +31,6 @@ module ActiveJob
32
31
  # | Resque | Yes | Yes | Yes (Gem) | Queue | Global | Yes |
33
32
  # | Sidekiq | Yes | Yes | Yes | Queue | No | Job |
34
33
  # | Sneakers | Yes | Yes | No | Queue | Queue | No |
35
- # | Sucker Punch | Yes | Yes | Yes | No | No | No |
36
34
  # | Active Job Async | Yes | Yes | Yes | No | No | No |
37
35
  # | Active Job Inline | No | Yes | N/A | N/A | N/A | N/A |
38
36
  # | Active Job Test | No | Yes | N/A | N/A | N/A | N/A |
@@ -119,7 +117,6 @@ module ActiveJob
119
117
  autoload :InlineAdapter
120
118
  autoload :BackburnerAdapter
121
119
  autoload :DelayedJobAdapter
122
- autoload :QueAdapter
123
120
  autoload :QueueClassicAdapter
124
121
  autoload :ResqueAdapter
125
122
  autoload :SidekiqAdapter
@@ -31,7 +31,22 @@ module ActiveJob
31
31
  ActiveJob::Base.include EnqueueAfterTransactionCommit
32
32
 
33
33
  if app.config.active_job.key?(:enqueue_after_transaction_commit)
34
- ActiveJob::Base.enqueue_after_transaction_commit = app.config.active_job.delete(:enqueue_after_transaction_commit)
34
+ ActiveJob.deprecator.warn(<<~MSG.squish)
35
+ `config.active_job.enqueue_after_transaction_commit` is deprecated and will be removed in Rails 8.1.
36
+ This configuration can still be set on individual jobs using `self.enqueue_after_transaction_commit=`,
37
+ but due the nature of this behavior, it is not recommended to be set globally.
38
+ MSG
39
+
40
+ value = case app.config.active_job.enqueue_after_transaction_commit
41
+ when :always
42
+ true
43
+ when :never
44
+ false
45
+ else
46
+ false
47
+ end
48
+
49
+ ActiveJob::Base.enqueue_after_transaction_commit = value
35
50
  end
36
51
  end
37
52
  end
@@ -54,7 +69,8 @@ module ActiveJob
54
69
  # Configs used in other initializers
55
70
  options = options.except(
56
71
  :log_query_tags_around_perform,
57
- :custom_serializers
72
+ :custom_serializers,
73
+ :enqueue_after_transaction_commit
58
74
  )
59
75
 
60
76
  options.each do |k, v|
@@ -91,7 +107,9 @@ module ActiveJob
91
107
  app.config.active_record.query_log_tags |= [:job]
92
108
 
93
109
  ActiveSupport.on_load(:active_record) do
94
- ActiveRecord::QueryLogs.taggings[:job] = ->(context) { context[:job].class.name if context[:job] }
110
+ ActiveRecord::QueryLogs.taggings = ActiveRecord::QueryLogs.taggings.merge(
111
+ job: ->(context) { context[:job].class.name if context[:job] }
112
+ )
95
113
  end
96
114
  end
97
115
  end
@@ -1,7 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require "set"
4
-
5
3
  module ActiveJob
6
4
  # = Active Job \Serializers
7
5
  #
data/lib/active_job.rb CHANGED
@@ -49,18 +49,6 @@ module ActiveJob
49
49
  autoload :TestCase
50
50
  autoload :TestHelper
51
51
 
52
- def self.use_big_decimal_serializer
53
- ActiveJob.deprecator.warn <<-WARNING.squish
54
- Rails.application.config.active_job.use_big_decimal_serializer is deprecated and will be removed in Rails 8.0.
55
- WARNING
56
- end
57
-
58
- def self.use_big_decimal_serializer=(value)
59
- ActiveJob.deprecator.warn <<-WARNING.squish
60
- Rails.application.config.active_job.use_big_decimal_serializer is deprecated and will be removed in Rails 8.0.
61
- WARNING
62
- end
63
-
64
52
  ##
65
53
  # :singleton-method: verbose_enqueue_logs
66
54
  #
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activejob
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.2.2.1
4
+ version: 8.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Heinemeier Hansson
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-12-10 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: activesupport
@@ -16,14 +15,14 @@ dependencies:
16
15
  requirements:
17
16
  - - '='
18
17
  - !ruby/object:Gem::Version
19
- version: 7.2.2.1
18
+ version: 8.0.5
20
19
  type: :runtime
21
20
  prerelease: false
22
21
  version_requirements: !ruby/object:Gem::Requirement
23
22
  requirements:
24
23
  - - '='
25
24
  - !ruby/object:Gem::Version
26
- version: 7.2.2.1
25
+ version: 8.0.5
27
26
  - !ruby/object:Gem::Dependency
28
27
  name: globalid
29
28
  requirement: !ruby/object:Gem::Requirement
@@ -104,12 +103,11 @@ licenses:
104
103
  - MIT
105
104
  metadata:
106
105
  bug_tracker_uri: https://github.com/rails/rails/issues
107
- changelog_uri: https://github.com/rails/rails/blob/v7.2.2.1/activejob/CHANGELOG.md
108
- documentation_uri: https://api.rubyonrails.org/v7.2.2.1/
106
+ changelog_uri: https://github.com/rails/rails/blob/v8.0.5/activejob/CHANGELOG.md
107
+ documentation_uri: https://api.rubyonrails.org/v8.0.5/
109
108
  mailing_list_uri: https://discuss.rubyonrails.org/c/rubyonrails-talk
110
- source_code_uri: https://github.com/rails/rails/tree/v7.2.2.1/activejob
109
+ source_code_uri: https://github.com/rails/rails/tree/v8.0.5/activejob
111
110
  rubygems_mfa_required: 'true'
112
- post_install_message:
113
111
  rdoc_options: []
114
112
  require_paths:
115
113
  - lib
@@ -117,15 +115,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
117
115
  requirements:
118
116
  - - ">="
119
117
  - !ruby/object:Gem::Version
120
- version: 3.1.0
118
+ version: 3.2.0
121
119
  required_rubygems_version: !ruby/object:Gem::Requirement
122
120
  requirements:
123
121
  - - ">="
124
122
  - !ruby/object:Gem::Version
125
123
  version: '0'
126
124
  requirements: []
127
- rubygems_version: 3.5.22
128
- signing_key:
125
+ rubygems_version: 4.0.6
129
126
  specification_version: 4
130
127
  summary: Job framework with pluggable queues.
131
128
  test_files: []