Skip to content

Commit b983656

Browse files
committed
Drop support for Rails < 6.0, Ruby < 2.7.
Support for Rails 5.2 and Ruby 2.6 ended in 2018 so I think it's a reasonable time to drop support for it and everything below it. I've changed the Rails version check in `application.rb` because `represent_boolean_as_integer` was deprecated in Rails 6.0[^1]. The target Ruby version in `.rubocop.yml` has been updated but it seems like Rubocop isn't actually being used to autocorrect offenses in the gem and I didn't want to autocorrect everything because there are hundreds of offenses. [^1]:(https://github.com/rails/rails/blob/e29f5e0feb68ee6a9bd44f24991d7494a71884f0/guides/source/6_0_release_notes.md?plain=1#L446)
1 parent ce39126 commit b983656

20 files changed

+11
-342
lines changed

.circleci/config.yml

-90
Original file line numberDiff line numberDiff line change
@@ -40,20 +40,9 @@ workflows:
4040
matrix:
4141
parameters:
4242
ruby-version:
43-
- '2.5'
44-
- '2.6'
4543
- '2.7'
4644
- '3.0'
4745
gemfile:
48-
- gemfiles/rails4.2_graphql1.8.gemfile
49-
- gemfiles/rails5.0_graphql1.8.gemfile
50-
- gemfiles/rails5.0_graphql1.9.gemfile
51-
- gemfiles/rails5.1_graphql1.8.gemfile
52-
- gemfiles/rails5.1_graphql1.9.gemfile
53-
- gemfiles/rails5.2_graphql1.8.gemfile
54-
- gemfiles/rails5.2_graphql1.9.gemfile
55-
- gemfiles/rails5.2_graphql1.10.gemfile
56-
- gemfiles/rails5.2_graphql1.11.gemfile
5746
- gemfiles/rails6.0_graphql1.11.gemfile
5847
- gemfiles/rails6.0_graphql1.12.gemfile
5948
- gemfiles/rails6.0_graphql1.13.gemfile
@@ -72,85 +61,6 @@ workflows:
7261
- gemfiles/rails7.1_graphql2.1.gemfile
7362
- gemfiles/rails7.1_graphql2.2.gemfile
7463
- gemfiles/rails7.1_graphql2.3.gemfile
75-
exclude:
76-
- ruby-version: '2.5'
77-
gemfile: gemfiles/rails7.0_graphql1.11.gemfile
78-
- ruby-version: '2.5'
79-
gemfile: gemfiles/rails6.0_graphql1.13.gemfile
80-
- ruby-version: '2.5'
81-
gemfile: gemfiles/rails6.1_graphql1.13.gemfile
82-
- ruby-version: '2.5'
83-
gemfile: gemfiles/rails7.0_graphql1.12.gemfile
84-
- ruby-version: '2.5'
85-
gemfile: gemfiles/rails7.0_graphql1.13.gemfile
86-
- ruby-version: '2.5'
87-
gemfile: gemfiles/rails6.1_graphql2.0.gemfile
88-
- ruby-version: '2.5'
89-
gemfile: gemfiles/rails6.1_graphql1.12.gemfile
90-
- ruby-version: '2.5'
91-
gemfile: gemfiles/rails6.1_graphql1.11.gemfile
92-
- ruby-version: '2.5'
93-
gemfile: gemfiles/rails6.0_graphql1.12.gemfile
94-
- ruby-version: '2.5'
95-
gemfile: gemfiles/rails6.0_graphql1.11.gemfile
96-
- ruby-version: '2.5'
97-
gemfile: gemfiles/rails7.0_graphql2.0.gemfile
98-
- ruby-version: '2.5'
99-
gemfile: gemfiles/rails7.0_graphql2.1.gemfile
100-
- ruby-version: '2.5'
101-
gemfile: gemfiles/rails7.0_graphql2.2.gemfile
102-
- ruby-version: '2.5'
103-
gemfile: gemfiles/rails7.0_graphql2.3.gemfile
104-
- ruby-version: '2.5'
105-
gemfile: gemfiles/rails7.1_graphql2.0.gemfile
106-
- ruby-version: '2.5'
107-
gemfile: gemfiles/rails7.1_graphql2.1.gemfile
108-
- ruby-version: '2.5'
109-
gemfile: gemfiles/rails7.1_graphql2.2.gemfile
110-
- ruby-version: '2.5'
111-
gemfile: gemfiles/rails7.1_graphql2.3.gemfile
112-
- ruby-version: '2.6'
113-
gemfile: gemfiles/rails7.0_graphql1.11.gemfile
114-
- ruby-version: '2.6'
115-
gemfile: gemfiles/rails7.0_graphql1.12.gemfile
116-
- ruby-version: '2.6'
117-
gemfile: gemfiles/rails7.0_graphql1.13.gemfile
118-
- ruby-version: '2.6'
119-
gemfile: gemfiles/rails7.0_graphql2.0.gemfile
120-
- ruby-version: '2.6'
121-
gemfile: gemfiles/rails7.0_graphql2.1.gemfile
122-
- ruby-version: '2.6'
123-
gemfile: gemfiles/rails7.0_graphql2.2.gemfile
124-
- ruby-version: '2.6'
125-
gemfile: gemfiles/rails7.0_graphql2.3.gemfile
126-
- ruby-version: '2.6'
127-
gemfile: gemfiles/rails7.1_graphql2.0.gemfile
128-
- ruby-version: '2.6'
129-
gemfile: gemfiles/rails7.1_graphql2.1.gemfile
130-
- ruby-version: '2.6'
131-
gemfile: gemfiles/rails7.1_graphql2.2.gemfile
132-
- ruby-version: '2.6'
133-
gemfile: gemfiles/rails7.1_graphql2.3.gemfile
134-
- ruby-version: '2.7'
135-
gemfile: gemfiles/rails4.2_graphql1.8.gemfile
136-
- ruby-version: '3.0'
137-
gemfile: gemfiles/rails4.2_graphql1.8.gemfile
138-
- ruby-version: '3.0'
139-
gemfile: gemfiles/rails5.0_graphql1.8.gemfile
140-
- ruby-version: '3.0'
141-
gemfile: gemfiles/rails5.0_graphql1.9.gemfile
142-
- ruby-version: '3.0'
143-
gemfile: gemfiles/rails5.1_graphql1.8.gemfile
144-
- ruby-version: '3.0'
145-
gemfile: gemfiles/rails5.1_graphql1.9.gemfile
146-
- ruby-version: '3.0'
147-
gemfile: gemfiles/rails5.2_graphql1.8.gemfile
148-
- ruby-version: '3.0'
149-
gemfile: gemfiles/rails5.2_graphql1.9.gemfile
150-
- ruby-version: '3.0'
151-
gemfile: gemfiles/rails5.2_graphql1.10.gemfile
152-
- ruby-version: '3.0'
153-
gemfile: gemfiles/rails5.2_graphql1.11.gemfile
15464
- report-coverage:
15565
requires:
15666
- test

.rubocop.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ require:
44
- rubocop-rails
55

66
AllCops:
7-
TargetRubyVersion: 2.4.4
7+
TargetRubyVersion: 2.7
88
DisplayCopNames: true
99
Exclude:
1010
- bin/**/*

Appraisals

-95
Original file line numberDiff line numberDiff line change
@@ -1,98 +1,3 @@
1-
appraise 'rails4.2-graphql1.8' do
2-
gem 'sqlite3', '~> 1.3.6'
3-
gem 'bundler', '~> 1.17'
4-
gem 'rails', git: 'https://github.com/rails/rails', branch: '4-2-stable'
5-
gem 'graphql', '~> 1.8.0'
6-
gem 'devise_token_auth', '< 1.2'
7-
gem 'rspec-rails', '< 4.0'
8-
gem 'bigdecimal', '1.3.5'
9-
gem 'factory_bot', '<= 6.4.4'
10-
end
11-
12-
appraise 'rails5.0-graphql1.8' do
13-
gem 'sqlite3', '~> 1.3.6'
14-
gem 'rails', git: 'https://github.com/rails/rails', branch: '5-0-stable'
15-
gem 'graphql', '~> 1.8.0'
16-
gem 'devise_token_auth', '0.1.43'
17-
gem 'devise', '>= 4.0'
18-
gem 'rspec-rails', '< 4.0'
19-
gem 'factory_bot', '<= 6.4.4'
20-
end
21-
22-
appraise 'rails5.0-graphql1.9' do
23-
gem 'sqlite3', '~> 1.3.6'
24-
gem 'rails', git: 'https://github.com/rails/rails', branch: '5-0-stable'
25-
gem 'graphql', '~> 1.9.0'
26-
gem 'devise_token_auth', '< 1.2'
27-
gem 'rspec-rails', '< 4.0'
28-
gem 'factory_bot', '<= 6.4.4'
29-
end
30-
31-
appraise 'rails5.1-graphql1.8' do
32-
gem 'sqlite3', '~> 1.3.6'
33-
gem 'rails', git: 'https://github.com/rails/rails', branch: '5-1-stable'
34-
gem 'graphql', '~> 1.8.0'
35-
gem 'devise_token_auth', '0.1.43'
36-
gem 'devise', '>= 4.3'
37-
gem 'rspec-rails', '< 4.0'
38-
gem 'factory_bot', '<= 6.4.4'
39-
end
40-
41-
appraise 'rails5.1-graphql1.9' do
42-
gem 'sqlite3', '~> 1.3.6'
43-
gem 'rails', git: 'https://github.com/rails/rails', branch: '5-1-stable'
44-
gem 'graphql', '~> 1.9.0'
45-
gem 'devise_token_auth', '< 1.2'
46-
gem 'rspec-rails', '< 4.0'
47-
gem 'factory_bot', '<= 6.4.4'
48-
end
49-
50-
appraise 'rails5.2-graphql1.8' do
51-
gem 'sqlite3', '~> 1.3.6'
52-
gem 'rails', git: 'https://github.com/rails/rails', branch: '5-2-stable'
53-
gem 'graphql', '~> 1.8.0'
54-
gem 'devise_token_auth', '0.1.43'
55-
gem 'devise', '>= 4.4.2'
56-
gem 'rspec-rails', '< 4.0'
57-
gem 'factory_bot', '<= 6.4.4'
58-
end
59-
60-
appraise 'rails5.2-graphql1.9' do
61-
gem 'sqlite3', '~> 1.3.6'
62-
gem 'rails', git: 'https://github.com/rails/rails', branch: '5-2-stable'
63-
gem 'graphql', '~> 1.9.0'
64-
gem 'devise_token_auth', '< 1.2'
65-
gem 'rspec-rails', '< 4.0'
66-
gem 'factory_bot', '<= 6.4.4'
67-
end
68-
69-
appraise 'rails5.2-graphql1.10' do
70-
gem 'sqlite3', '~> 1.3.6'
71-
gem 'rails', git: 'https://github.com/rails/rails', branch: '5-2-stable'
72-
gem 'graphql', '~> 1.10.0'
73-
gem 'devise_token_auth', '< 1.2'
74-
gem 'rspec-rails', '< 4.0'
75-
gem 'factory_bot', '<= 6.4.4'
76-
end
77-
78-
appraise 'rails5.2-graphql1.11' do
79-
gem 'sqlite3', '~> 1.3.6'
80-
gem 'rails', git: 'https://github.com/rails/rails', branch: '5-2-stable'
81-
gem 'graphql', '~> 1.11.0'
82-
gem 'devise_token_auth', '< 1.2'
83-
gem 'rspec-rails', '< 4.0'
84-
gem 'factory_bot', '<= 6.4.4'
85-
end
86-
87-
appraise 'rails5.2-graphql1.12' do
88-
gem 'sqlite3', '~> 1.3.6'
89-
gem 'rails', git: 'https://github.com/rails/rails', branch: '5-2-stable'
90-
gem 'graphql', '~> 1.12.0'
91-
gem 'devise_token_auth', '< 1.2'
92-
gem 'rspec-rails', '< 4.0'
93-
gem 'factory_bot', '<= 6.4.4'
94-
end
95-
961
appraise 'rails6.0-graphql1.10' do
972
gem 'sqlite3', '~> 1.5.4'
983
gem 'devise', '>= 4.7'
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
11
# frozen_string_literal: true
22

33
module GraphqlDevise
4-
ApplicationController = if Rails::VERSION::MAJOR >= 5
5-
Class.new(ActionController::API)
6-
else
7-
Class.new(ActionController::Base)
8-
end
4+
ApplicationController = Class.new(ActionController::API)
95
end

gemfiles/rails4.2_graphql1.8.gemfile

-14
This file was deleted.

gemfiles/rails5.0_graphql1.8.gemfile

-13
This file was deleted.

gemfiles/rails5.0_graphql1.9.gemfile

-12
This file was deleted.

gemfiles/rails5.1_graphql1.8.gemfile

-13
This file was deleted.

gemfiles/rails5.1_graphql1.9.gemfile

-12
This file was deleted.

gemfiles/rails5.2_graphql1.10.gemfile

-12
This file was deleted.

gemfiles/rails5.2_graphql1.11.gemfile

-12
This file was deleted.

gemfiles/rails5.2_graphql1.12.gemfile

-12
This file was deleted.

gemfiles/rails5.2_graphql1.8.gemfile

-13
This file was deleted.

gemfiles/rails5.2_graphql1.9.gemfile

-12
This file was deleted.

graphql_devise.gemspec

+2-2
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,11 @@ Gem::Specification.new do |spec|
2525
`git ls-files -z`.split("\x0").select { |f| f.match(%r{^spec/}) }
2626
end
2727

28-
spec.required_ruby_version = '>= 2.4.4'
28+
spec.required_ruby_version = '>= 2.7.0'
2929

3030
spec.add_dependency 'devise_token_auth', '>= 0.1.43', '< 2.0'
3131
spec.add_dependency 'graphql', '>= 1.8', '< 2.4'
32-
spec.add_dependency 'rails', '>= 4.2', '< 7.2'
32+
spec.add_dependency 'rails', '>= 6.0', '< 7.2'
3333
spec.add_dependency 'zeitwerk'
3434

3535
spec.add_development_dependency 'appraisal'

spec/dummy/config/application.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ class Application < Rails::Application
2828
# Skip views, helpers and assets when generating a new resource.
2929
# config.api_only = true
3030

31-
if Rails::VERSION::MAJOR >= 5 && Rails::VERSION::MINOR > 1
31+
if Gem::Version.new(Rails::VERSION::STRING) < Gem::Version.new('6.1')
3232
config.active_record.sqlite3.represent_boolean_as_integer = true
3333
end
3434
end

spec/dummy/config/environments/test.rb

+2-7
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,8 @@
1515
config.eager_load = ENV['EAGER_LOAD'].present?
1616

1717
# Configure public file server for tests with Cache-Control for performance.
18-
if Rails::VERSION::MAJOR >= 5
19-
config.public_file_server.enabled = true
20-
config.public_file_server.headers = { 'Cache-Control' => 'public, max-age=3600' }
21-
else
22-
config.serve_static_files = true
23-
config.static_cache_control = 'public, max-age=3600'
24-
end
18+
config.public_file_server.enabled = true
19+
config.public_file_server.headers = { 'Cache-Control' => 'public, max-age=3600' }
2520

2621
# Show full error reports and disable caching.
2722
config.consider_all_requests_local = true

0 commit comments

Comments
 (0)