about summary refs log tree commit diff
diff options
context:
space:
mode:
authorClaire <claire.github-309c@sitedethib.com>2022-11-27 20:41:39 +0100
committerGitHub <noreply@github.com>2022-11-27 20:41:39 +0100
commit098ced7420065149feec732f979402afe2573d60 (patch)
tree306e7638cbb8016d6dae79f6c976fd76705d6aaf
parent47f0d7021e76c60f5336b0c005c6336cd50c8009 (diff)
Remove support for Ruby 2.6 (#21477)
As pointed out by https://github.com/mastodon/mastodon/pull/21297#discussion_r1028372193
at least one of our dependencies already dropped support for Ruby 2.6, and we
had removed Ruby 2.6 tests from the CI over a year ago (#16861).

So stop advertising Ruby 2.6 support, bump targeted version, and drop some
compatibility code.
-rw-r--r--.rubocop.yml2
-rw-r--r--Gemfile2
-rw-r--r--README.md2
-rw-r--r--config/application.rb1
-rw-r--r--lib/enumerable.rb26
5 files changed, 3 insertions, 30 deletions
diff --git a/.rubocop.yml b/.rubocop.yml
index 38a413c2e..aec11b030 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -2,7 +2,7 @@ require:
   - rubocop-rails
 
 AllCops:
-  TargetRubyVersion: 2.5
+  TargetRubyVersion: 2.7
   NewCops: disable
   Exclude:
     - 'spec/**/*'
diff --git a/Gemfile b/Gemfile
index ca77e6a2a..a55f03edb 100644
--- a/Gemfile
+++ b/Gemfile
@@ -1,7 +1,7 @@
 # frozen_string_literal: true
 
 source 'https://rubygems.org'
-ruby '>= 2.6.0', '< 3.1.0'
+ruby '>= 2.7.0', '< 3.1.0'
 
 gem 'pkg-config', '~> 1.4'
 gem 'rexml', '~> 3.2'
diff --git a/README.md b/README.md
index 5019bd097..277ae0cc1 100644
--- a/README.md
+++ b/README.md
@@ -72,7 +72,7 @@ Mastodon acts as an OAuth2 provider, so 3rd party apps can use the REST and Stre
 
 - **PostgreSQL** 9.5+
 - **Redis** 4+
-- **Ruby** 2.6+
+- **Ruby** 2.7+
 - **Node.js** 14+
 
 The repository includes deployment configurations for **Docker and docker-compose** as well as specific platforms like **Heroku**, **Scalingo**, and **Nanobox**. The [**standalone** installation guide](https://docs.joinmastodon.org/admin/install/) is available in the documentation.
diff --git a/config/application.rb b/config/application.rb
index 4d6c7ebf1..6fa3654d8 100644
--- a/config/application.rb
+++ b/config/application.rb
@@ -22,7 +22,6 @@ require 'mail'
 Bundler.require(*Rails.groups)
 
 require_relative '../lib/exceptions'
-require_relative '../lib/enumerable'
 require_relative '../lib/sanitize_ext/sanitize_config'
 require_relative '../lib/redis/namespace_extensions'
 require_relative '../lib/paperclip/url_generator_extensions'
diff --git a/lib/enumerable.rb b/lib/enumerable.rb
deleted file mode 100644
index 66918f65e..000000000
--- a/lib/enumerable.rb
+++ /dev/null
@@ -1,26 +0,0 @@
-# frozen_string_literal: true
-
-module Enumerable
-  # TODO: Remove this once stop to support Ruby 2.6
-  if RUBY_VERSION < '2.7.0'
-    def filter_map
-      if block_given?
-        result = []
-        each do |element|
-          res = yield element
-          result << res if res
-        end
-        result
-      else
-        Enumerator.new do |yielder|
-          result = []
-          each do |element|
-            res = yielder.yield element
-            result << res if res
-          end
-          result
-        end
-      end
-    end
-  end
-end