Skip to content

Commit 236c1fd

Browse files
authored
Add Rails 7.2 support & drop Ruby 2.7 and 3.0 support (#16)
1 parent 2879d32 commit 236c1fd

11 files changed

+46
-27
lines changed

.circleci/config.yml

+9-10
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@ version: 2.1
22
jobs:
33
lint:
44
docker:
5-
- image: cimg/ruby:2.7.7
5+
- image: cimg/ruby:3.1.6
66
working_directory: ~/delayed_job_heartbeat_plugin
77
steps:
88
- checkout
99
- restore_cache:
1010
keys:
11-
- v1-gems-ruby-2.7.7-{{ checksum "delayed_job_heartbeat_plugin.gemspec" }}-{{ checksum "Gemfile" }}
12-
- v1-gems-ruby-2.7.7-
11+
- v1-gems-ruby-3.1.6-{{ checksum "delayed_job_heartbeat_plugin.gemspec" }}-{{ checksum "Gemfile" }}
12+
- v1-gems-ruby-3.1.6-
1313
- run:
1414
name: Install Gems
1515
command: |
@@ -18,7 +18,7 @@ jobs:
1818
bundle clean
1919
fi
2020
- save_cache:
21-
key: v1-gems-ruby-2.7.7-{{ checksum "delayed_job_heartbeat_plugin.gemspec" }}-{{ checksum "Gemfile" }}
21+
key: v1-gems-ruby-3.1.6-{{ checksum "delayed_job_heartbeat_plugin.gemspec" }}-{{ checksum "Gemfile" }}
2222
paths:
2323
- "vendor/bundle"
2424
- "gemfiles/vendor/bundle"
@@ -86,12 +86,11 @@ workflows:
8686
matrix:
8787
parameters:
8888
gemfile:
89-
- gemfiles/rails_6.0.gemfile
9089
- gemfiles/rails_6.1.gemfile
9190
- gemfiles/rails_7.0.gemfile
91+
- gemfiles/rails_7.1.gemfile
92+
- gemfiles/rails_7.2.gemfile
9293
ruby_version:
93-
- 2.7.7
94-
- 3.0.5
95-
- 3.1.3
96-
- 3.2.0
97-
- 3.3.0
94+
- 3.1.6
95+
- 3.2.5
96+
- 3.3.4

.rubocop.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ inherit_gem:
22
salsify_rubocop: conf/rubocop.yml
33

44
AllCops:
5-
TargetRubyVersion: 2.7
5+
TargetRubyVersion: 3.1
66
Exclude:
77
- 'vendor/**/*'
88
- 'gemfiles/**/*'

Appraisals

+10-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,5 @@
11
# frozen_string_literal: true
22

3-
appraise 'rails-6.0' do
4-
gem 'activerecord', '~> 6.0.4'
5-
gem 'activesupport', '~> 6.0.4'
6-
end
7-
83
appraise 'rails-6.1' do
94
gem 'activerecord', '~> 6.1.5'
105
gem 'activesupport', '~> 6.1.5'
@@ -14,3 +9,13 @@ appraise 'rails-7.0' do
149
gem 'activerecord', '~> 7.0.2'
1510
gem 'activesupport', '~> 7.0.2'
1611
end
12+
13+
appraise 'rails-7.1' do
14+
gem 'activerecord', '~> 7.1.3'
15+
gem 'activesupport', '~> 7.1.3'
16+
end
17+
18+
appraise 'rails-7.2' do
19+
gem 'activerecord', '~> 7.2.0'
20+
gem 'activesupport', '~> 7.2.0'
21+
end

CHANGELOG.md

+7
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# Changelog
22

3+
## 0.6.0
4+
5+
- Drop support for Ruby < 3.1
6+
- Drop Rails 6.0
7+
- Add Rails 7.2
8+
**Thanks [@DRSisco](https://github.com/DRSisco)**
9+
310
## 0.5.0
411

512
- Drop support for ruby < 2.7

delayed_job_heartbeat_plugin.gemspec

+3-3
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,12 @@ Gem::Specification.new do |spec|
2525
spec.test_files = Dir.glob('spec/**/*')
2626
spec.require_paths = ['lib']
2727

28-
spec.required_ruby_version = '>= 2.7'
28+
spec.required_ruby_version = '>= 3.1'
2929

3030
spec.add_dependency 'delayed_job', '>= 4.1.0'
3131
spec.add_dependency 'delayed_job_active_record', '>= 4.1.0'
3232

33-
spec.add_development_dependency 'activerecord', ['>= 5.2', '< 7.1']
33+
spec.add_development_dependency 'activerecord', ['>= 6.1', '< 7.3']
3434
spec.add_development_dependency 'appraisal'
3535
spec.add_development_dependency 'bundler'
3636
spec.add_development_dependency 'coveralls_reborn', '>= 0.18.0'
@@ -39,7 +39,7 @@ Gem::Specification.new do |spec|
3939
spec.add_development_dependency 'rake', '~> 13.0'
4040
spec.add_development_dependency 'rspec', '~> 3'
4141
spec.add_development_dependency 'rspec_junit_formatter'
42-
spec.add_development_dependency 'salsify_rubocop', '~> 1.0.2'
42+
spec.add_development_dependency 'salsify_rubocop', '~> 1.59.1'
4343
spec.add_development_dependency 'simplecov'
4444
spec.add_development_dependency 'timecop'
4545
end

gemfiles/rails_6.0.gemfile gemfiles/rails_7.1.gemfile

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

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

5-
gem "activerecord", "~> 6.0.4"
6-
gem "activesupport", "~> 6.0.4"
5+
gem "activerecord", "~> 7.1.3"
6+
gem "activesupport", "~> 7.1.3"
77

88
gemspec path: "../"

gemfiles/rails_7.2.gemfile

+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# This file was generated by Appraisal
2+
3+
source "https://rubygems.org"
4+
5+
gem "activerecord", "~> 7.2.0"
6+
gem "activesupport", "~> 7.2.0"
7+
8+
gemspec path: "../"

lib/delayed/heartbeat/tasks.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
def print_results(results)
1818
puts "Deleted #{results.workers.size} and unlocked #{results.unlocked_jobs.size} orphaned jobs"
19-
puts results.to_s if verbose? && results.present?
19+
puts results if verbose? && results.present?
2020
end
2121

2222
def verbose?

lib/delayed/heartbeat/version.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,6 @@
22

33
module Delayed
44
module Heartbeat
5-
VERSION = '0.5.0'
5+
VERSION = '0.6.0'
66
end
77
end

lib/delayed/heartbeat/worker_heartbeat.rb

+3-3
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ def run_heartbeat_loop
4646
update_heartbeat
4747
# Return the connection back to the pool since we won't be needing
4848
# it again for a while.
49-
Delayed::Backend::ActiveRecord::Job.clear_active_connections!
49+
Delayed::Backend::ActiveRecord::Job.connection_handler.clear_active_connections!
5050
end
5151
rescue StandardError => e
5252
# We don't want the worker to continue running if the heartbeat can't be written.
@@ -58,8 +58,8 @@ def run_heartbeat_loop
5858
ensure
5959
@stop_reader.close
6060
@worker_model.delete
61-
# Note: The built-in Delayed::Plugins::ClearLocks will unlock the jobs for us
62-
Delayed::Backend::ActiveRecord::Job.clear_active_connections!
61+
# NOTE: The built-in Delayed::Plugins::ClearLocks will unlock the jobs for us
62+
Delayed::Backend::ActiveRecord::Job.connection_handler.clear_active_connections!
6363
end
6464

6565
def update_heartbeat

spec/delayed/heartbeat_spec.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@
4242

4343
let!(:failed_orphaned_job) do
4444
Delayed::Job.create!(locked_by: dead_worker.name, locked_at: dead_worker.last_heartbeat_at,
45-
payload_object: TestJobWithCallbacks.new) do |job|
45+
payload_object: TestJobWithCallbacks.new) do |job|
4646
job.attempts = max_attempts - 1
4747
end
4848
end

0 commit comments

Comments
 (0)