From fb347f70f7b7f0633d4bc24a4c4327763464d7ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Busqu=C3=A9?= Date: Tue, 10 Jan 2023 12:04:10 +0100 Subject: [PATCH 1/2] Remove support for ruby v2.6 Ruby v2.6 is EOL since 12 Apr 2022 [1]. Our new release policy [2] makes it clear that we don't support Ruby versions that are no longer maintained. [1] - https://www.ruby-lang.org/en/downloads/branches/ [2] - https://solidus.io/release_policy/ --- .circleci/config.yml | 4 ++-- Gemfile | 2 +- api/solidus_api.gemspec | 2 +- backend/solidus_backend.gemspec | 2 +- core/lib/spree/core.rb | 9 --------- core/solidus_core.gemspec | 2 +- sample/solidus_sample.gemspec | 2 +- solidus.gemspec | 2 +- 8 files changed, 8 insertions(+), 17 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index db750cff3c8..816d5757eeb 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -342,10 +342,10 @@ workflows: - test_solidus: context: slack-secrets name: *name - matrix: { parameters: { rails: ['6.0'], ruby: ['2.6'], database: ['sqlite'], paperclip: [true] } } + matrix: { parameters: { rails: ['6.0'], ruby: ['2.7'], database: ['sqlite'], paperclip: [true] } } - test_solidus: context: slack-secrets name: *name - matrix: { parameters: { rails: ['5.2'], ruby: ['2.6'], database: ['sqlite'], paperclip: [true] } } + matrix: { parameters: { rails: ['5.2'], ruby: ['2.7'], database: ['sqlite'], paperclip: [true] } } - dev_tools: context: slack-secrets diff --git a/Gemfile b/Gemfile index cf6f20e6c83..8415df77292 100644 --- a/Gemfile +++ b/Gemfile @@ -41,7 +41,7 @@ group :backend do # - https://github.com/ruby/net-protocol/issues/10 # - https://stackoverflow.com/a/72474475 v = ->(string) { Gem::Version.new(string) } - if Gem::Requirement.new(['>= 2.6', '< 3']) === Gem::Version.new(RUBY_VERSION) + if Gem::Requirement.new(['>= 2.7', '< 3']) === Gem::Version.new(RUBY_VERSION) gem 'net-http', require: false end diff --git a/api/solidus_api.gemspec b/api/solidus_api.gemspec index 045233db887..d4d82645771 100644 --- a/api/solidus_api.gemspec +++ b/api/solidus_api.gemspec @@ -20,7 +20,7 @@ Gem::Specification.new do |s| f.match(%r{^(spec|script)/}) end - s.required_ruby_version = '>= 2.6.0' + s.required_ruby_version = '>= 2.7.0' s.required_rubygems_version = '>= 1.8.23' s.add_dependency 'jbuilder', '~> 2.8' diff --git a/backend/solidus_backend.gemspec b/backend/solidus_backend.gemspec index f7bff6506ae..0331cb31bee 100644 --- a/backend/solidus_backend.gemspec +++ b/backend/solidus_backend.gemspec @@ -20,7 +20,7 @@ Gem::Specification.new do |s| f.match(%r{^(spec|script)/}) end - s.required_ruby_version = '>= 2.6.0' + s.required_ruby_version = '>= 2.7.0' s.required_rubygems_version = '>= 1.8.23' s.add_dependency 'solidus_api', s.version diff --git a/core/lib/spree/core.rb b/core/lib/spree/core.rb index a07720f5aaf..d5666ab7c7a 100644 --- a/core/lib/spree/core.rb +++ b/core/lib/spree/core.rb @@ -84,15 +84,6 @@ class GatewayError < RuntimeError; end end end -if Gem::Version.new(RUBY_VERSION) < Gem::Version.new("2.7") - Spree::Deprecation.warn <<~HEREDOC - Ruby 2.6, which reached EOL, is deprecated and will not be supported anymore from the next Solidus version. - Please, upgrade to a more recent Ruby version. - Read more on the release notes for different Ruby versions here: - https://www.ruby-lang.org/en/downloads/releases/ - HEREDOC -end - if Gem::Version.new(Rails.version) < Gem::Version.new('6.0') Spree::Deprecation.warn <<~HEREDOC Rails 5.2 (EOL) is deprecated and will not be supported anymore from the next Solidus version. diff --git a/core/solidus_core.gemspec b/core/solidus_core.gemspec index 18446c1d649..e0d825c943a 100644 --- a/core/solidus_core.gemspec +++ b/core/solidus_core.gemspec @@ -20,7 +20,7 @@ Gem::Specification.new do |s| f.match(%r{^(spec|script)/}) end - s.required_ruby_version = '>= 2.6.0' + s.required_ruby_version = '>= 2.7.0' s.required_rubygems_version = '>= 1.8.23' %w[ diff --git a/sample/solidus_sample.gemspec b/sample/solidus_sample.gemspec index dc2f3d9f8d3..dc441eca8ed 100644 --- a/sample/solidus_sample.gemspec +++ b/sample/solidus_sample.gemspec @@ -20,7 +20,7 @@ Gem::Specification.new do |s| f.match(%r{^(spec|script)/}) end - s.required_ruby_version = '>= 2.6.0' + s.required_ruby_version = '>= 2.7.0' s.required_rubygems_version = '>= 1.8.23' s.add_dependency 'solidus_core', s.version diff --git a/solidus.gemspec b/solidus.gemspec index b0a030cb5c3..829f574e637 100644 --- a/solidus.gemspec +++ b/solidus.gemspec @@ -18,7 +18,7 @@ Gem::Specification.new do |s| s.files = Dir['README.md', 'lib/**/*'] - s.required_ruby_version = '>= 2.6.0' + s.required_ruby_version = '>= 2.7.0' s.required_rubygems_version = '>= 1.8.23' s.add_dependency 'solidus_api', s.version From 25f0428ceb32e6e8c3277c73863cd908bd2a1165 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Busqu=C3=A9?= Date: Tue, 10 Jan 2023 12:07:05 +0100 Subject: [PATCH 2/2] Use beginless ranges when possible The new syntax was introduced back on Ruby v2.7 [1] [1] - https://ruby-doc.org/core-2.7.0/Range.html#class-Range-label-Beginless-2FEndless+Ranges --- backend/app/views/spree/admin/taxons/_form.html.erb | 2 +- core/lib/spree/testing_support/order_walkthrough.rb | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/backend/app/views/spree/admin/taxons/_form.html.erb b/backend/app/views/spree/admin/taxons/_form.html.erb index d9e47be065d..49081e812f0 100644 --- a/backend/app/views/spree/admin/taxons/_form.html.erb +++ b/backend/app/views/spree/admin/taxons/_form.html.erb @@ -12,7 +12,7 @@ <% if @taxon.parent %>
- <%= @taxon.permalink.split('/')[0...-1].join('/') + '/' %> + <%= @taxon.permalink.split('/')[...-1].join('/') + '/' %>
<% end %> diff --git a/core/lib/spree/testing_support/order_walkthrough.rb b/core/lib/spree/testing_support/order_walkthrough.rb index 690d722d090..1a9cbb0ddcf 100644 --- a/core/lib/spree/testing_support/order_walkthrough.rb +++ b/core/lib/spree/testing_support/order_walkthrough.rb @@ -34,7 +34,7 @@ def up_to(state, user: nil) states else end_state_position = states.index(state.to_sym) - states[0..end_state_position] + states[..end_state_position] end states_to_process.each do |state_to_process|