Skip to content

Commit 51857a2

Browse files
committed
Add support for Rails 7 and 7.1
- Drop support for Rails < 7 - Drop support for Ruby < 3.3
1 parent 9c2d79b commit 51857a2

23 files changed

Lines changed: 171 additions & 116 deletions

.github/workflows/ci.yml

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -13,20 +13,20 @@ jobs:
1313
fail-fast: false
1414
matrix:
1515
include:
16-
- ruby: '2.3'
17-
rails: '5.2'
18-
bundler: '1'
19-
- ruby: '2.4'
20-
rails: '5.2'
21-
bundler: '1'
22-
- ruby: '2.5'
23-
rails: '6.0'
16+
- ruby: '3.3' # v1.x sqlite3 requires Ruby 3.3
17+
rails: '7.0'
2418
bundler: 'default'
25-
- ruby: '2.6'
26-
rails: '6.0'
19+
- ruby: '3.4'
20+
rails: '7.1'
2721
bundler: 'default'
28-
- ruby: '2.7'
29-
rails: '6.1'
22+
- ruby: '3.4'
23+
rails: '7.2'
24+
bundler: 'default'
25+
- ruby: '3.4'
26+
rails: '8.0'
27+
bundler: 'default'
28+
- ruby: '3.4'
29+
rails: '8.1'
3030
bundler: 'default'
3131
env:
3232
RAILS_VERSION: ${{ matrix.rails }}
@@ -39,14 +39,14 @@ jobs:
3939
bundler: ${{ matrix.bundler }}
4040
bundler-cache: true
4141
- run: bundle exec rubocop
42-
if: matrix.ruby == '2.7'
42+
if: matrix.rails == '7.1'
4343
- run: bundle exec rspec --format doc
4444
- uses: codecov/codecov-action@v3
45-
if: matrix.ruby == '2.7'
45+
if: matrix.rails == '7.1'
4646
with:
4747
files: coverage/coverage.xml
4848
- run: bin/yardoc --fail-on-warning
49-
if: matrix.ruby == '2.7'
49+
if: matrix.rails == '7.1'
5050
- run: bin/check-version
5151

5252
release:

.rubocop.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ require:
44

55
AllCops:
66
SuggestExtensions: false
7-
TargetRubyVersion: 2.3
7+
TargetRubyVersion: 3.3
88

99
Gemspec/DeprecatedAttributeAssignment: { Enabled: true }
1010
Gemspec/RequireMFA: { Enabled: true }

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
# Changelog
22

3+
## 0.9.0
4+
5+
- Add support for Rails 7.0 and Rails 7.1
6+
- Drop support for Rails < 7.0
7+
- Drop support for Ruby < 3.3
8+
- Update dev and runtime dependencies
9+
310
## 0.8.0
411

512
- Update license to MIT [#19](https://github.com/nullscreen/epilog/pull/19)

Gemfile

Lines changed: 7 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -4,23 +4,16 @@ source 'https://rubygems.org'
44
gemspec
55

66
not_jruby = %i[ruby mingw x64_mingw].freeze
7-
ruby_version = Gem::Version.new(RUBY_VERSION)
8-
rails_version = Gem::Version.new(ENV.fetch('RAILS_VERSION', '5.2'))
7+
rails_version = Gem::Version.new(ENV.fetch('RAILS_VERSION', '7.1.0'))
98

109
gem 'byebug', platforms: not_jruby
1110
gem 'rails', "~> #{rails_version}"
1211
gem 'redcarpet', '~> 3.5', platforms: not_jruby
12+
gem 'rubocop', '~> 1.46'
13+
gem 'rubocop-rspec', '~> 2.12.0'
14+
gem 'simplecov', '>= 0.17.1'
15+
gem 'simplecov-cobertura', '~> 3.0'
1316
gem 'yard', '~> 0.9.25', platforms: not_jruby
1417

15-
if Gem::Version.new(RUBY_VERSION) >= Gem::Version.new('2.6')
16-
gem 'rubocop', '~> 1.36.0'
17-
gem 'rubocop-rspec', '~> 2.12.0'
18-
gem 'simplecov', '>= 0.17.1'
19-
gem 'simplecov-cobertura', '~> 2.1'
20-
end
21-
22-
if ruby_version >= Gem::Version.new('2.6')
23-
gem 'sqlite3', '~> 1.5'
24-
else
25-
gem 'sqlite3', '~> 1.4', '< 1.5'
26-
end
18+
# Rails 7.0's ActiveRecord adapter requires sqlite3 ~> 1.4; 7.1+ allows 2.x
19+
gem 'sqlite3', rails_version < Gem::Version.new('7.1') ? '~> 1.4' : '>= 1.4'

epilog.gemspec

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,11 @@ Gem::Specification.new do |spec|
2424
spec.files = Dir['lib/**/*.rb', '*.md', '*.txt', '.yardopts']
2525
spec.require_paths = ['lib']
2626

27-
spec.required_ruby_version = '>= 2.3'
27+
spec.required_ruby_version = '>= 3.3'
2828

2929
spec.add_development_dependency 'combustion', '~> 1.3'
30-
spec.add_development_dependency 'rails', '>= 4.2', '< 7'
30+
spec.add_development_dependency 'rails', '>= 4.2'
3131
spec.add_development_dependency 'rspec', '~> 3.11'
32-
spec.add_development_dependency 'rspec-rails', '~> 5.1'
33-
spec.add_development_dependency 'sqlite3', '~> 1.3'
32+
spec.add_development_dependency 'rspec-rails', '>= 7.0'
33+
spec.add_development_dependency 'sqlite3', '>= 1.4'
3434
end

lib/epilog/filter/blacklist.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class Blacklist < HashKey
1313
attr_reader :blacklist
1414

1515
def initialize(blacklist = DEFAULT_BLACKLIST)
16-
@blacklist = blacklist.map { |b| [b.to_s.downcase, nil] }.to_h
16+
@blacklist = blacklist.to_h { |b| [b.to_s.downcase, nil] }
1717
super()
1818
end
1919

lib/epilog/filter/filter_parameters.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ class FilterParameters < Blacklist
88
def filter_parameters
99
return @filter_parameters if @filter_parameters
1010

11-
filtered = ::Rails.application.config.filter_parameters.map do |p|
11+
filtered = ::Rails.application.config.filter_parameters.to_h do |p|
1212
[p.to_s.downcase, true]
13-
end.to_h
13+
end
1414

1515
@filter_parameters = filtered if ::Rails.initialized?
1616
filtered

lib/epilog/mock_logger.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
module Epilog
44
class MockLogger < ::Logger
5-
def initialize(**options)
6-
super(nil, **options)
5+
def initialize(**)
6+
super(nil, **)
77
reset
88
end
99

lib/epilog/rails/action_controller_subscriber.rb

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ def log_end(event)
8888
info do
8989
{
9090
message: response_string(event),
91-
request: request,
91+
request:,
9292
response: response_hash(event),
9393
metrics: process_metrics(event.payload[:metrics]
9494
.merge(request_runtime: event.duration.round(2)))
@@ -158,7 +158,7 @@ def normalize_status(event)
158158

159159
def basic_message(event, message)
160160
{
161-
message: message,
161+
message:,
162162
metrics: process_metrics(duration: event.duration)
163163
}
164164
end

lib/epilog/rails/action_view_subscriber.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ def render_collection(event)
1919

2020
def hash(event, message)
2121
{
22-
message: message,
22+
message:,
2323
template: fix_path(event.payload[:identifier]),
2424
layout: fix_path(event.payload[:layout]),
2525
metrics: {

0 commit comments

Comments
 (0)