Skip to content

Commit 04302ca

Browse files
committed
Add support for Rails 8.1
- `ActiveSupport::Configurable` is deprecated. We can replace it with `class_attribute` - Add `readline` and `irb` to dev-dependencies to prevent warnings on MRI 3.4
1 parent 519b001 commit 04302ca

File tree

14 files changed

+156
-97
lines changed

14 files changed

+156
-97
lines changed

.github/workflows/main.yml

Lines changed: 67 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,12 @@ jobs:
2020
strategy:
2121
matrix:
2222
ruby:
23-
- 2.5.9
24-
- 2.6.10
25-
- 2.7.7
26-
- 3.0.5
27-
- 3.1.3
28-
- 3.2.0
23+
- 2.7.8
24+
- 3.0.7
25+
- 3.1.7
26+
- 3.2.9
27+
- 3.3.9
28+
- 3.4.7
2929
gemfile:
3030
- gemfiles/activejob_4.2.x.gemfile
3131
- gemfiles/activejob_5.2.x.gemfile
@@ -35,78 +35,92 @@ jobs:
3535
- gemfiles/activejob_7.1.x.gemfile
3636
- gemfiles/activejob_7.2.x.gemfile
3737
- gemfiles/activejob_8.0.x.gemfile
38+
- gemfiles/activejob_8.1.x.gemfile
3839
- gemfiles/sidekiq_4.x.gemfile
3940
- gemfiles/sidekiq_5.x.gemfile
4041
- gemfiles/sidekiq_6.x.gemfile
41-
- gemfiles/sidekiq_7.x.gemfile
42+
# - gemfiles/sidekiq_7.x.gemfile
43+
- gemfiles/sidekiq_8.x.gemfile
4244
exclude:
43-
- ruby: 2.5.9
44-
gemfile: gemfiles/activejob_7.0.x.gemfile
45-
- ruby: 2.5.9
46-
gemfile: gemfiles/activejob_7.1.x.gemfile
47-
- ruby: 2.5.9
48-
gemfile: gemfiles/activejob_7.2.x.gemfile
49-
- ruby: 2.5.9
50-
gemfile: gemfiles/activejob_8.0.x.gemfile
51-
- ruby: 2.5.9
52-
gemfile: gemfiles/sidekiq_6.x.gemfile
53-
- ruby: 2.5.9
54-
gemfile: gemfiles/sidekiq_7.x.gemfile
55-
- ruby: 2.6.10
56-
gemfile: gemfiles/activejob_7.0.x.gemfile
57-
- ruby: 2.6.10
58-
gemfile: gemfiles/activejob_7.1.x.gemfile
59-
- ruby: 2.6.10
60-
gemfile: gemfiles/activejob_7.2.x.gemfile
61-
- ruby: 2.6.10
62-
gemfile: gemfiles/activejob_8.0.x.gemfile
63-
- ruby: 2.6.10
64-
gemfile: gemfiles/sidekiq_6.x.gemfile
65-
- ruby: 2.6.10
66-
gemfile: gemfiles/sidekiq_7.x.gemfile
67-
- ruby: 2.7.7
45+
- ruby: 2.7.8
6846
gemfile: gemfiles/activejob_4.2.x.gemfile
69-
- ruby: 2.7.7
47+
- ruby: 2.7.8
7048
gemfile: gemfiles/activejob_7.2.x.gemfile
71-
- ruby: 2.7.7
49+
- ruby: 2.7.8
7250
gemfile: gemfiles/activejob_8.0.x.gemfile
73-
- ruby: 2.7.7
51+
- ruby: 2.7.8
52+
gemfile: gemfiles/activejob_8.1.x.gemfile
53+
- ruby: 2.7.8
7454
gemfile: gemfiles/sidekiq_4.x.gemfile
75-
- ruby: 3.0.5
55+
- ruby: 2.7.8
56+
gemfile: gemfiles/sidekiq_8.x.gemfile
57+
- ruby: 3.0.7
7658
gemfile: gemfiles/activejob_4.2.x.gemfile
77-
- ruby: 3.0.5
59+
- ruby: 3.0.7
7860
gemfile: gemfiles/activejob_5.2.x.gemfile
79-
- ruby: 3.0.5
61+
- ruby: 3.0.7
8062
gemfile: gemfiles/activejob_7.2.x.gemfile
81-
- ruby: 3.0.5
63+
- ruby: 3.0.7
8264
gemfile: gemfiles/activejob_8.0.x.gemfile
83-
- ruby: 3.0.5
65+
- ruby: 3.0.7
66+
gemfile: gemfiles/activejob_8.1.x.gemfile
67+
- ruby: 3.0.7
8468
gemfile: gemfiles/sidekiq_4.x.gemfile
85-
- ruby: 3.0.5
69+
- ruby: 3.0.7
8670
gemfile: gemfiles/sidekiq_5.x.gemfile
87-
- ruby: 3.1.3
71+
- ruby: 3.0.7
72+
gemfile: gemfiles/sidekiq_8.x.gemfile
73+
- ruby: 3.1.7
8874
gemfile: gemfiles/activejob_4.2.x.gemfile
89-
- ruby: 3.1.3
75+
- ruby: 3.1.7
9076
gemfile: gemfiles/activejob_5.2.x.gemfile
91-
- ruby: 3.1.3
77+
- ruby: 3.1.7
9278
gemfile: gemfiles/activejob_6.0.x.gemfile
93-
- ruby: 3.1.3
79+
- ruby: 3.1.7
9480
gemfile: gemfiles/activejob_8.0.x.gemfile
95-
- ruby: 3.1.3
81+
- ruby: 3.1.7
82+
gemfile: gemfiles/activejob_8.1.x.gemfile
83+
- ruby: 3.1.7
84+
gemfile: gemfiles/sidekiq_4.x.gemfile
85+
- ruby: 3.1.7
86+
gemfile: gemfiles/sidekiq_5.x.gemfile
87+
- ruby: 3.1.7
88+
gemfile: gemfiles/sidekiq_8.x.gemfile
89+
- ruby: 3.2.9
90+
gemfile: gemfiles/activejob_4.2.x.gemfile
91+
- ruby: 3.2.9
92+
gemfile: gemfiles/activejob_5.2.x.gemfile
93+
- ruby: 3.2.9
94+
gemfile: gemfiles/activejob_6.0.x.gemfile
95+
- ruby: 3.2.9
96+
gemfile: gemfiles/activejob_7.1.x.gemfile
97+
- ruby: 3.2.9
98+
gemfile: gemfiles/sidekiq_4.x.gemfile
99+
- ruby: 3.2.9
100+
gemfile: gemfiles/sidekiq_5.x.gemfile
101+
- ruby: 3.3.9
102+
gemfile: gemfiles/activejob_4.2.x.gemfile
103+
- ruby: 3.3.9
104+
gemfile: gemfiles/activejob_5.2.x.gemfile
105+
- ruby: 3.3.9
106+
gemfile: gemfiles/activejob_6.0.x.gemfile
107+
- ruby: 3.3.9
108+
gemfile: gemfiles/activejob_7.1.x.gemfile
109+
- ruby: 3.3.9
96110
gemfile: gemfiles/sidekiq_4.x.gemfile
97-
- ruby: 3.1.3
111+
- ruby: 3.3.9
98112
gemfile: gemfiles/sidekiq_5.x.gemfile
99-
- ruby: 3.2.0
113+
- ruby: 3.4.7
100114
gemfile: gemfiles/activejob_4.2.x.gemfile
101-
- ruby: 3.2.0
115+
- ruby: 3.4.7
102116
gemfile: gemfiles/activejob_5.2.x.gemfile
103-
- ruby: 3.2.0
117+
- ruby: 3.4.7
104118
gemfile: gemfiles/activejob_6.0.x.gemfile
105-
- ruby: 3.2.0
119+
- ruby: 3.4.7
106120
gemfile: gemfiles/activejob_7.1.x.gemfile
107-
- ruby: 3.2.0
121+
- ruby: 3.4.7
108122
gemfile: gemfiles/sidekiq_4.x.gemfile
109-
- ruby: 3.2.0
123+
- ruby: 3.3.9
110124
gemfile: gemfiles/sidekiq_5.x.gemfile
111125

112126
steps:

.rubocop.yml

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
1-
require: rubocop-rspec
1+
plugins:
2+
- rubocop-rspec
23

34
AllCops:
4-
TargetRubyVersion: 2.5
5+
TargetRubyVersion: 2.7
56
NewCops: enable
67
Exclude:
78
- gemfiles/**/*
@@ -66,3 +67,12 @@ RSpec/AnyInstance:
6667
RSpec/LetSetup:
6768
Exclude:
6869
- spec/active_job/uniqueness/sidekiq_patch_spec.rb
70+
71+
RSpec/IncludeExamples:
72+
Enabled: false
73+
74+
Naming/PredicateMethod:
75+
Enabled: false
76+
77+
Lint/FloatComparison:
78+
Enabled: false

Appraisals

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@ appraise 'activejob-5.2.x' do
99
end
1010

1111
appraise 'activejob-6.0.x' do
12-
gem 'activejob', '~> 6.0.5'
12+
gem 'activejob', '~> 6.0.6'
1313
end
1414

1515
appraise 'activejob-6.1.x' do
16-
gem 'activejob', '~> 6.1.6'
16+
gem 'activejob', '~> 6.1.7'
1717
end
1818

1919
appraise 'activejob-7.0.x' do
20-
gem 'activejob', '~> 7.0.3'
20+
gem 'activejob', '~> 7.0.8'
2121
end
2222

2323
appraise 'activejob-7.1.x' do
@@ -32,6 +32,10 @@ appraise 'activejob-8.0.x' do
3232
gem 'activejob', '>= 8.0.0.rc1', '< 8.1'
3333
end
3434

35+
appraise 'activejob-8.1.x' do
36+
gem 'activejob', '>= 8.1.0.rc1', '< 8.2'
37+
end
38+
3539
appraise 'sidekiq-4.x' do
3640
gem 'sidekiq', '~> 4.2'
3741
gem 'activejob', '~> 5.2'
@@ -47,5 +51,9 @@ appraise 'sidekiq-6.x' do
4751
end
4852

4953
appraise 'sidekiq-7.x' do
50-
gem 'sidekiq', '~> 7.0'
54+
gem 'sidekiq', '~> 7.3'
55+
end
56+
57+
appraise 'sidekiq-8.x' do
58+
gem 'sidekiq', '~> 8.0'
5159
end

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
55

66
## [Unreleased](https://github.com/veeqo/activejob-uniqueness/compare/v0.4.0...HEAD)
77

8+
- [#91](https://github.com/veeqo/activejob-uniqueness/pull/91) Add Rails 8.1 support by [@viralpraxis](https://github.com/viralpraxis)
89

910
## [0.4.0](https://github.com/veeqo/activejob-uniqueness/compare/v0.3.2...v0.4.0) - 2024-12-07
1011

activejob-uniqueness.gemspec

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,19 @@ Gem::Specification.new do |spec|
2828

2929
spec.required_ruby_version = '>= 2.5'
3030

31-
spec.add_dependency 'activejob', '>= 4.2', '< 8.1'
31+
spec.add_dependency 'activejob', '>= 4.2', '< 8.2'
3232
spec.add_dependency 'redlock', '>= 2.0', '< 3'
3333

34+
spec.add_development_dependency 'mutex_m'
35+
spec.add_development_dependency 'bigdecimal'
36+
spec.add_development_dependency 'logger'
37+
spec.add_development_dependency 'base64'
3438
spec.add_development_dependency 'appraisal', '~> 2.3.0'
3539
spec.add_development_dependency 'bundler', '>= 2.0'
3640
spec.add_development_dependency 'pry-byebug', '> 3.6.0'
3741
spec.add_development_dependency 'rspec', '~> 3.0'
3842
spec.add_development_dependency 'rubocop', '~> 1.28'
39-
spec.add_development_dependency 'rubocop-rspec', '~> 2.10'
43+
spec.add_development_dependency 'rubocop-rspec', '~> 3.7'
44+
spec.add_development_dependency 'readline'
45+
spec.add_development_dependency 'irb'
4046
end

gemfiles/activejob_6.0.x.gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
source "https://rubygems.org"
44

5-
gem "activejob", "~> 6.0.5"
5+
gem "activejob", "~> 6.0.6"
66

77
gemspec path: "../"

gemfiles/activejob_6.1.x.gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
source "https://rubygems.org"
44

5-
gem "activejob", "~> 6.1.6"
5+
gem "activejob", "~> 6.1.7"
66

77
gemspec path: "../"

gemfiles/activejob_7.0.x.gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
source "https://rubygems.org"
44

5-
gem "activejob", "~> 7.0.3"
5+
gem "activejob", "~> 7.0.8"
66

77
gemspec path: "../"

gemfiles/activejob_8.1.x.gemfile

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# This file was generated by Appraisal
2+
3+
source "https://rubygems.org"
4+
5+
gem "activejob", ">= 8.1.0.rc1", "< 8.2"
6+
7+
gemspec path: "../"

gemfiles/sidekiq_7.x.gemfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
source "https://rubygems.org"
44

5-
gem "sidekiq", "~> 7.0"
5+
gem "sidekiq", "~> 7.3"
66

77
gemspec path: "../"

0 commit comments

Comments
 (0)