14 de Fevereiro de 2024 - @Walmir Neto
Esses dias adicionei Standard Ruby no projeto https://github.com/owalmirneto/rails-demo que uso de exemplo para escrever aqui. E escrevi alguns testes nele e percebi que apesar de Standard Ruby usar o Rubocop por baixo, ele não adiciona algumas extensão que eu uso para verificar os testes
Como sempre hoje vai bem passo a passo rapidão 😜
Começamos adicionando as extensão no nosso Gemfile
group :development, :test do
...
# <https://github.com/rubocop/rubocop-rspec#usage>
gem "rubocop-rspec", "~> 2.26", ">= 2.26.1"
# <https://github.com/rubocop/rubocop-capybara#usage>
gem "rubocop-capybara", "~> 2.20"
# <https://github.com/rubocop/rubocop-factory_bot#usage>
gem "rubocop-factory_bot", "~> 2.25", ">= 2.25.1"
end
Depois disso é só roda
bundle install
Isso vai instalar as gems, mas para funcionar corretamente é preciso adicionar as extensão no .rubocop.yml
require:
- rubocop-rails
- rubocop-factory_bot
- rubocop-capybara
- rubocop-rspec
...
Dá uma olhada na Github deles github.com/rubocop para checar mais extensões 😉
Para pegar essas alterações no CI, precisamos rodar o rubocop, pois como disse anteriormente, o rubocop é adicionar pelo Standard Ruby, mas as extensões não são levadas em conta. Então precisamos substituir o bin/standardrb por bin/rubocop lá no arquivo de CI:
# .github/workflows/feature-code-review.yml
- name: Install dependencies
run: bundle install --jobs 4 --retry 3
- - name: Run Standard Ruby
- run: bin/standardrb
+ - name: Run RuboCop Linter
+ run: bin/rubocop
O código desse exemplo → https://github.com/owalmirneto/rails-demo/pull/7