advanced-sneakers-activejob 0.6.0 → 0.7.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d76d72ecda9caf10d961a1489214fb54a19b336fb2bfaa20c0db2678e06a36e0
4
- data.tar.gz: 22ce99262256a1e7715ad56ea901163ea6a88ac66c9f6b4df0c457dc3c8633a1
3
+ metadata.gz: bec1f0d5e31956d8ca88a49fece6f4327a1e5c4445e77f98cbbadd69f70bb96c
4
+ data.tar.gz: 04fa0eb0c1c61e076bb944c97fa070baf3d551ee86aa1dbebd459a599f838aba
5
5
  SHA512:
6
- metadata.gz: 682edc7c6a50785943662fd7350881df2808a942eb0101b92e4cdefcc44e37481be1b791af4ed9d7af38939e2554a748ab836ec2daa4ec936688b19201de56ef
7
- data.tar.gz: de2fcbb80cfcb3d011334355aad8d09532d497b1151b11b2407d42435b967b5154e488f058324bcfb496e7279637c7d0c93fc16bdcc31d34c190adf6bfd07603
6
+ metadata.gz: 1075449c689b6699e58bef54367c026a772880a3a31f61aa467035dba32f23b5164f2f60f4f03f8f5041e8ad4151492670d1909f11863fa93713427a0291e276
7
+ data.tar.gz: 855163848962913b241864245cc73a47525b8f5c495bba8a79cbe85a48baa4661ea4ac9d7271016570e48173c3cba0bba5f5d45ae5cbcce23999601b1e356f63
data/CHANGELOG.md CHANGED
@@ -4,7 +4,19 @@ All notable changes to this project will be documented in this file.
4
4
 
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
6
6
 
7
- ## [Unreleased](https://github.com/veeqo/advanced-sneakers-activejob/compare/v0.6.0...HEAD)
7
+ ## [Unreleased](https://github.com/veeqo/advanced-sneakers-activejob/compare/v0.7.0...HEAD)
8
+
9
+ ## [0.7.0](https://github.com/veeqo/advanced-sneakers-activejob/compare/v0.6.0...v0.6.0) - 2026-04-09
10
+
11
+ ### Added
12
+ - [#42](https://github.com/veeqo/advanced-sneakers-activejob/pull/42) Add support for ActiveJob v7.1 and v7.2 (including ActionMailer queue consumer detection)
13
+ - [#42](https://github.com/veeqo/advanced-sneakers-activejob/pull/42) Add Ruby 3.3 and 3.4 to CI matrix
14
+
15
+ ### Changed
16
+ - [#42](https://github.com/veeqo/advanced-sneakers-activejob/pull/42) Bump minimum Ruby version from 2.5 to 2.7
17
+
18
+ ### Removed
19
+ - [#42](https://github.com/veeqo/advanced-sneakers-activejob/pull/42) Drop support for Ruby 2.5 and 2.6
8
20
 
9
21
 
10
22
  ## [0.6.0](https://github.com/veeqo/advanced-sneakers-activejob/compare/v0.5.0...v0.6.0) - 2022-02-15
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AdvancedSneakersActiveJob
4
- VERSION = '0.6.0'
4
+ VERSION = '0.7.0'
5
5
  end
@@ -70,15 +70,41 @@ module AdvancedSneakersActiveJob
70
70
  active_job_classes_with_matching_adapter.each do |worker|
71
71
  AdvancedSneakersActiveJob.define_consumer(queue_name: worker.new.queue_name)
72
72
  end
73
+
74
+ action_mailer_classes_with_matching_adapter.each do |mailer|
75
+ AdvancedSneakersActiveJob.define_consumer(queue_name: mailer_queue_name(mailer))
76
+ end
73
77
  end
74
78
 
75
79
  private
76
80
 
77
81
  def active_job_classes_with_matching_adapter
78
82
  ([ActiveJob::Base] + ActiveJob::Base.descendants).select do |klass|
79
- klass.queue_adapter == ::ActiveJob::QueueAdapters::AdvancedSneakersAdapter ||
80
- klass.queue_adapter.is_a?(::ActiveJob::QueueAdapters::AdvancedSneakersAdapter)
83
+ advanced_sneakers_adapter?(klass) &&
84
+ !(defined?(ActionMailer::Base) && klass <= ActionMailer::MailDeliveryJob)
85
+ end
86
+ end
87
+
88
+ def action_mailer_classes_with_matching_adapter
89
+ return [] if !defined?(ActionMailer::Base) ||
90
+ ActionMailer.gem_version < Gem::Version.new('6.0.0') ||
91
+ !advanced_sneakers_adapter?(ActionMailer::MailDeliveryJob)
92
+
93
+ ([ActionMailer::Base] + ActionMailer::Base.descendants).select do |klass|
94
+ klass.delivery_job == ActionMailer::MailDeliveryJob
81
95
  end
82
96
  end
97
+
98
+ def advanced_sneakers_adapter?(klass)
99
+ klass.queue_adapter == ::ActiveJob::QueueAdapters::AdvancedSneakersAdapter ||
100
+ klass.queue_adapter.is_a?(::ActiveJob::QueueAdapters::AdvancedSneakersAdapter)
101
+ end
102
+
103
+ # Gets the queue name for the mailer with activejob prefix and delimiter
104
+ # Queue name from ActionMailer::Base.deliver_later_queue_name is not prefixed
105
+ # and has no delimiter, so we need to add them manually
106
+ def mailer_queue_name(mailer)
107
+ [ActiveJob::Base.queue_name_prefix.presence, mailer.deliver_later_queue_name.to_s].compact.join(ActiveJob::Base.queue_name_delimiter)
108
+ end
83
109
  end
84
110
  end
metadata CHANGED
@@ -1,15 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: advanced-sneakers-activejob
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rustam Sharshenov
8
8
  - Vlad Bokov
9
- autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2022-02-15 00:00:00.000000000 Z
11
+ date: 1980-01-02 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: activejob
@@ -17,14 +16,14 @@ dependencies:
17
16
  requirements:
18
17
  - - ">="
19
18
  - !ruby/object:Gem::Version
20
- version: '4.2'
19
+ version: '6.0'
21
20
  type: :runtime
22
21
  prerelease: false
23
22
  version_requirements: !ruby/object:Gem::Requirement
24
23
  requirements:
25
24
  - - ">="
26
25
  - !ruby/object:Gem::Version
27
- version: '4.2'
26
+ version: '6.0'
28
27
  - !ruby/object:Gem::Dependency
29
28
  name: bunny-publisher
30
29
  requirement: !ruby/object:Gem::Requirement
@@ -59,14 +58,14 @@ dependencies:
59
58
  requirements:
60
59
  - - "~>"
61
60
  - !ruby/object:Gem::Version
62
- version: 2.3.0
61
+ version: 2.5.0
63
62
  type: :development
64
63
  prerelease: false
65
64
  version_requirements: !ruby/object:Gem::Requirement
66
65
  requirements:
67
66
  - - "~>"
68
67
  - !ruby/object:Gem::Version
69
- version: 2.3.0
68
+ version: 2.5.0
70
69
  - !ruby/object:Gem::Dependency
71
70
  name: bundler
72
71
  requirement: !ruby/object:Gem::Requirement
@@ -157,7 +156,6 @@ metadata:
157
156
  homepage_uri: https://github.com/veeqo/advanced-sneakers-activejob
158
157
  source_code_uri: https://github.com/veeqo/advanced-sneakers-activejob
159
158
  changelog_uri: https://github.com/veeqo/advanced-sneakers-activejob/blob/main/CHANGELOG.md
160
- post_install_message:
161
159
  rdoc_options: []
162
160
  require_paths:
163
161
  - lib
@@ -165,15 +163,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
165
163
  requirements:
166
164
  - - ">="
167
165
  - !ruby/object:Gem::Version
168
- version: '2.5'
166
+ version: '2.7'
169
167
  required_rubygems_version: !ruby/object:Gem::Requirement
170
168
  requirements:
171
169
  - - ">="
172
170
  - !ruby/object:Gem::Version
173
171
  version: '0'
174
172
  requirements: []
175
- rubygems_version: 3.0.8
176
- signing_key:
173
+ rubygems_version: 3.7.1
177
174
  specification_version: 4
178
175
  summary: Advanced Sneakers adapter for ActiveJob
179
176
  test_files: []