fast
Find in AST - Search and refactor code directly in Abstract Syntax Tree as you do with grep for strings (by jonatas)
rubocop-rails
A RuboCop extension focused on enforcing Rails best practices and coding conventions. (by rubocop-hq)
Our great sponsors
fast | rubocop-rails | |
---|---|---|
2 | 7 | |
251 | 779 | |
- | 1.9% | |
6.2 | 9.1 | |
5 months ago | 2 days ago | |
Ruby | Ruby | |
MIT License | MIT License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
fast
Posts with mentions or reviews of fast.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-11-14.
-
ASTs in Ruby - Node Pattern and Introducing RuboCop
Oh, and that regex bit? Remember how we have Rubular for regex? We have the NodePattern Debugger for ASTs which you will find incredibly helpful, in fact you might open it now and try out some of these examples to make sure I'm not pulling a Fast one. (No, I'm not apologizing for that one.)
-
Future of Ruby β AST Tooling
Some of these tools have even already been wrapped, like Jonatas's work on FFast which works on top of NodePattern and some of RuboCop's previous work. Really the only things between us and this future is a bit more wrapping and polish, as well as integrations into something like VSCode.
rubocop-rails
Posts with mentions or reviews of rubocop-rails.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-04-05.
-
RuboCoping with legacy: Bring your Ruby code up to Standard
1) Auto-correcting a whole (large) codebase at once with tons of offenses and dozens of active branches should be used with caution. Merge conflicts, blame pollution (ok, can be solved with .git-blame-ignore-revs, though can hardly remember any project using it). Though, the most important argument is that auto-correct can introduce bugs. Unfortunately, even safe autocorrect can be unsafe. Recently, I broke one popular project (with a decent, but not 99.999% test coverage) with a single "safe" auto-correction commit π (This issue).
-
Linting and Auto-formatting Ruby Code With RuboCop
It's also possible to extend RuboCop through additional linters and formatters. You can build your own extensions or take advantage of existing ones if they are relevant to your project. For example, a Rails extension is available for the purpose of enforcing Rails best practices and coding conventions.
-
Technical leadership during large refactors
I'm still getting used to writing these. Still, this article from Evil Martians has been a big help. The rubocop-rails codebase also had some cops similar to what I wanted to put together. The cop we've put together checks if the class inherits from ActiveModel::Serializer and adds an offence to that line.
-
Future of Ruby β AST Tooling
Let's take a glance at the action_filter cop real quick here, but just a quick part of it:
-
Learning style?
Following on from this, I highly recommend setting up your editor to automatically lint Ruby files with RuboCop and its Rails extension and start adapting your code to adhere to the Ruby Style Guide.
- Rails 7 will introduce invert_where method, but it's dangerous
-
Learning Ruby: Things I Like, Things I Miss from Python
I just would like to point out that even though that is the most sane way, it comes with it owns set of problems. One of them is when developers start to code to cheat the linter, or they complicate the code just to "make the linter happy", another is when the linting rule introduces problems/errors like https://github.com/rubocop-hq/rubocop-rails/issues/418
What are some alternatives?
When comparing fast and rubocop-rails you can also consider the following projects:
ruby-next - Ruby Next makes modern Ruby code run in older versions and alternative implementations
Django - The Web framework for perfectionists with deadlines.
unparser - Turn Ruby AST into semantically equivalent Ruby source
coc-solargraph - Solargraph extension for coc.nvim
Strapi - π Strapi is the leading open-source headless CMS. Itβs 100% JavaScript/TypeScript, fully customizable and developer-first.
rubocop-performance - An extension of RuboCop focused on code performance checks.
gringotts - A complete payment library for Elixir and Phoenix Framework
standard - Ruby's bikeshed-proof linter and formatter π²
stripity_stripe - An Elixir Library for Stripe
Ruby style guide - A community-driven Ruby coding style guide
fast vs ruby-next
rubocop-rails vs Django
fast vs unparser
rubocop-rails vs coc-solargraph
rubocop-rails vs Strapi
rubocop-rails vs rubocop-performance
rubocop-rails vs gringotts
rubocop-rails vs standard
rubocop-rails vs stripity_stripe
rubocop-rails vs unparser
rubocop-rails vs Ruby style guide
rubocop-rails vs ruby-next