Skip to content

The great reset #687

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 8 commits into from
Feb 19, 2025
Merged

The great reset #687

merged 8 commits into from
Feb 19, 2025

Conversation

rafaelfranca
Copy link
Member

@rafaelfranca rafaelfranca commented Feb 13, 2025

A change of direction for this project.

Before, we would restrict the expressiveness of Ruby for the sake of consistency and safety. This was causing Ruby programs that felt not really like Ruby.

Example of those rules were:

  • mandating parentheses in all method call
  • forcing some methods over others
  • trailing commas.

Now, this style guide, at least its cops, will focus on providing some consistency without making Ruby not look like Ruby. It will be more open to interpretation, and provide the freedom that Ruby always wanted to provide to their users.

It will also focus on catching mistakes. But not ones that require us to change how we write Ruby program.

In this PR:

  • We are disabling all cops with the exception of:

    • Style/FrozenStringLiteralComment - At least until those are made default in Ruby, we will still want this comment
    • Some cops in the Bundler and Gemspec department - Those catch errors that doesn't change how we write Ruby
  • Drop support to Ruby 3.0

Later PRs will enable cops in other department, after careful review of their usefulness.

We aren't using it anymore.

The main reason for it existing is that we had some rules that only
made send for Rails applications.

As we are resetting the rules, we don't know if we are going to
need this file again.
We want to have frozen string literals by default.
Those are just linters trying to help with mistakes.
Those are all lints to catch mistakes.
They don't support Ruby 3.4.
@rafaelfranca rafaelfranca requested a review from a team as a code owner February 13, 2025 18:38
@github-actions github-actions bot added the config change Changes the Rubocop config by enabling, disabling, or reconfiguring one or many cops label Feb 13, 2025
Copy link
Member

@burke burke left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is right. We will definitely find we want to add some of them back but let's feel that pain first.

@rafaelfranca rafaelfranca merged commit d264927 into main Feb 19, 2025
20 checks passed
@rafaelfranca rafaelfranca deleted the the-great-reset branch February 19, 2025 18:51
@sambostock sambostock mentioned this pull request Feb 21, 2025
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
config change Changes the Rubocop config by enabling, disabling, or reconfiguring one or many cops
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants