Skip to content

Commit

Permalink
Rails 7 requires Ruby 2.7 and prefer Ruby 3+
Browse files Browse the repository at this point in the history
The code cleanup is comming in later commits but this
already remove support to Ruby < 2.7.
  • Loading branch information
rafaelfranca committed Feb 4, 2021
1 parent 5a47789 commit 6487836
Show file tree
Hide file tree
Showing 18 changed files with 22 additions and 21 deletions.
2 changes: 1 addition & 1 deletion actioncable/actioncable.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
s.summary = "WebSocket framework for Rails."
s.description = "Structure many real-time application concerns into channels over a single WebSocket connection."

s.required_ruby_version = ">= 2.5.0"
s.required_ruby_version = ">= 2.7.0"

s.license = "MIT"

Expand Down
2 changes: 1 addition & 1 deletion actionmailbox/actionmailbox.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
s.summary = "Inbound email handling framework."
s.description = "Receive and process incoming emails in Rails applications."

s.required_ruby_version = ">= 2.5.0"
s.required_ruby_version = ">= 2.7.0"

s.license = "MIT"

Expand Down
2 changes: 1 addition & 1 deletion actionmailer/actionmailer.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
s.summary = "Email composition and delivery framework (part of Rails)."
s.description = "Email on Rails. Compose, deliver, and test emails using the familiar controller/view pattern. First-class support for multipart email and attachments."

s.required_ruby_version = ">= 2.5.0"
s.required_ruby_version = ">= 2.7.0"

s.license = "MIT"

Expand Down
2 changes: 1 addition & 1 deletion actionpack/actionpack.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
s.summary = "Web-flow and rendering framework putting the VC in MVC (part of Rails)."
s.description = "Web apps on Rails. Simple, battle-tested conventions for building and testing MVC web applications. Works with any Rack-compatible server."

s.required_ruby_version = ">= 2.5.0"
s.required_ruby_version = ">= 2.7.0"

s.license = "MIT"

Expand Down
2 changes: 1 addition & 1 deletion actiontext/actiontext.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
s.summary = "Rich text framework."
s.description = "Edit and display rich text in Rails applications."

s.required_ruby_version = ">= 2.5.0"
s.required_ruby_version = ">= 2.7.0"

s.license = "MIT"

Expand Down
2 changes: 1 addition & 1 deletion actionview/actionview.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
s.summary = "Rendering framework putting the V in MVC (part of Rails)."
s.description = "Simple, battle-tested conventions and helpers for building web pages."

s.required_ruby_version = ">= 2.5.0"
s.required_ruby_version = ">= 2.7.0"

s.license = "MIT"

Expand Down
2 changes: 1 addition & 1 deletion activejob/activejob.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
s.summary = "Job framework with pluggable queues."
s.description = "Declare job classes that can be run by a variety of queuing backends."

s.required_ruby_version = ">= 2.5.0"
s.required_ruby_version = ">= 2.7.0"

s.license = "MIT"

Expand Down
2 changes: 1 addition & 1 deletion activemodel/activemodel.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
s.summary = "A toolkit for building modeling frameworks (part of Rails)."
s.description = "A toolkit for building modeling frameworks like Active Record. Rich support for attributes, callbacks, validations, serialization, internationalization, and testing."

s.required_ruby_version = ">= 2.5.0"
s.required_ruby_version = ">= 2.7.0"

s.license = "MIT"

Expand Down
2 changes: 1 addition & 1 deletion activerecord/activerecord.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
s.summary = "Object-relational mapper framework (part of Rails)."
s.description = "Databases on Rails. Build a persistent domain model by mapping database tables to Ruby classes. Strong conventions for associations, validations, aggregations, migrations, and testing come baked-in."

s.required_ruby_version = ">= 2.5.0"
s.required_ruby_version = ">= 2.7.0"

s.license = "MIT"

Expand Down
2 changes: 1 addition & 1 deletion activestorage/activestorage.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
s.summary = "Local and cloud file storage framework."
s.description = "Attach cloud and local files in Rails applications."

s.required_ruby_version = ">= 2.5.0"
s.required_ruby_version = ">= 2.7.0"

s.license = "MIT"

Expand Down
2 changes: 1 addition & 1 deletion activesupport/activesupport.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
s.summary = "A toolkit of support libraries and Ruby core extensions extracted from the Rails framework."
s.description = "A toolkit of support libraries and Ruby core extensions extracted from the Rails framework. Rich support for multibyte strings, internationalization, time zones, and testing."

s.required_ruby_version = ">= 2.5.0"
s.required_ruby_version = ">= 2.7.0"

s.license = "MIT"

Expand Down
4 changes: 2 additions & 2 deletions guides/source/active_record_postgresql.md
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ irb> Event.where("payload->>'kind' = ?", "user_renamed")
* [type definition](https://www.postgresql.org/docs/current/static/rangetypes.html)
* [functions and operators](https://www.postgresql.org/docs/current/static/functions-range.html)

This type is mapped to Ruby [`Range`](https://ruby-doc.org/core-2.5.0/Range.html) objects.
This type is mapped to Ruby [`Range`](https://ruby-doc.org/core-2.7.0/Range.html) objects.

```ruby
# db/migrate/20130923065404_create_events.rb
Expand Down Expand Up @@ -408,7 +408,7 @@ irb> user.save!
* [type definition](https://www.postgresql.org/docs/current/static/datatype-net-types.html)

The types `inet` and `cidr` are mapped to Ruby
[`IPAddr`](https://ruby-doc.org/stdlib-2.5.0/libdoc/ipaddr/rdoc/IPAddr.html)
[`IPAddr`](https://ruby-doc.org/stdlib-2.7.0/libdoc/ipaddr/rdoc/IPAddr.html)
objects. The `macaddr` type is mapped to normal text.

```ruby
Expand Down
2 changes: 1 addition & 1 deletion guides/source/command_line.md
Original file line number Diff line number Diff line change
Expand Up @@ -454,7 +454,7 @@ $ bin/rails destroy model Oops
$ bin/rails about
About your application's environment
Rails version 6.0.0
Ruby version 2.5.0 (x86_64-linux)
Ruby version 2.7.0 (x86_64-linux)
RubyGems version 2.7.3
Rack version 2.0.4
JavaScript Runtime Node.js (V8)
Expand Down
4 changes: 2 additions & 2 deletions guides/source/getting_started.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,10 +95,10 @@ current version of Ruby installed:

```bash
$ ruby --version
ruby 2.5.0
ruby 2.7.0
```

Rails requires Ruby version 2.5.0 or later. If the version number returned is
Rails requires Ruby version 2.7.0 or later. If the version number returned is
less than that number (such as 2.3.7, or 1.8.7), you'll need to install a fresh copy of Ruby.

To install Rails on Windows, you'll first need to install [Ruby Installer](https://rubyinstaller.org/).
Expand Down
1 change: 1 addition & 0 deletions guides/source/upgrading_ruby_on_rails.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ You can find a list of all released Rails versions [here](https://rubygems.org/g

Rails generally stays close to the latest released Ruby version when it's released:

* Rails 6 requires Ruby 2.7.0 or newer.
* Rails 6 requires Ruby 2.5.0 or newer.
* Rails 5 requires Ruby 2.2.2 or newer.
* Rails 4 prefers Ruby 2.0 and requires 1.9.3 or newer.
Expand Down
2 changes: 1 addition & 1 deletion rails.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
s.summary = "Full-stack web application framework."
s.description = "Ruby on Rails is a full-stack web framework optimized for programmer happiness and sustainable productivity. It encourages beautiful code by favoring convention over configuration."

s.required_ruby_version = ">= 2.5.0"
s.required_ruby_version = ">= 2.7.0"
s.required_rubygems_version = ">= 1.8.11"

s.license = "MIT"
Expand Down
6 changes: 3 additions & 3 deletions railties/lib/rails/ruby_version_check.rb
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# frozen_string_literal: true

if Gem::Version.new(RUBY_VERSION) < Gem::Version.new("2.5.0") && RUBY_ENGINE == "ruby"
if Gem::Version.new(RUBY_VERSION) < Gem::Version.new("2.7.0") && RUBY_ENGINE == "ruby"
desc = defined?(RUBY_DESCRIPTION) ? RUBY_DESCRIPTION : "ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE})"
abort <<-end_message
Rails 6 requires Ruby 2.5.0 or newer.
Rails 7 requires Ruby 2.7.0 or newer.
You're running
#{desc}
Please upgrade to Ruby 2.5.0 or newer to continue.
Please upgrade to Ruby 2.7.0 or newer to continue.
end_message
end
2 changes: 1 addition & 1 deletion railties/railties.gemspec
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|
s.summary = "Tools for creating, working with, and running Rails applications."
s.description = "Rails internals: application bootup, plugins, generators, and rake tasks."

s.required_ruby_version = ">= 2.5.0"
s.required_ruby_version = ">= 2.7.0"

s.license = "MIT"

Expand Down

0 comments on commit 6487836

Please sign in to comment.