RuboCop

· Padrão API
Juan Kalleo
Juan Kalleo
Backend/API
This page hasn't been translated to English yet — showing the original Portuguese content.

O que é

Linter e formatador estático de Ruby — analisa o código sem executá-lo e aponta (ou corrige automaticamente) desvio de estilo, código morto e padrão arriscado.

Por que essa (e por que "omakase")

# .rubocop.yml
inherit_gem: { rubocop-rails-omakase: rubocop.yml }

Não é a configuração "toda regra ligada" — herda direto do rubocop-rails-omakase, o guia de estilo oficial que o próprio time Rails publica pra projeto Rails novo (o mesmo usado pelo rails new a partir do Rails 8). Escolha deliberada: em vez de montar uma config de regra própria do zero (trabalho contínuo de manutenção, e uma fonte a mais de bikeshedding de estilo), o projeto herda uma config já mantida e já alinhada com o próprio framework — o CLAUDE.md do projeto reforça isso como não-negociável: bin/rubocop limpo é obrigatório antes de qualquer entrega, junto com teste e Brakeman (ver Brakeman).

Versão

rubocop (1.88.2) (resolvida via rubocop-rails-omakase) — Gemfile.lock.

Como importar

# Gemfile
gem "rubocop-rails-omakase", require: false
bin/rubocop          # checa
bin/rubocop -a       # autocorrige o que for seguro autocorrigir

Exemplo real

# .rubocop.yml
inherit_gem: { rubocop-rails-omakase: rubocop.yml }

# Overwrite or add rules to create your own house style

Nenhuma regra própria sobrescrita hoje — o projeto usa o omakase puro, sem exceção customizada acumulada.

Onde usar no projeto

bin/rails test && bin/rubocop && bin/brakeman --no-pager — os três juntos, limpos, são pré-requisito documentado (CLAUDE.md regra 11) antes de qualquer entrega ser considerada pronta.