Линтер Omakase Ruby
Rails 8 будет с линтером Rubocop по умолчанию. Стили будут взяты из гема rubocop-rails-omakase
Линтер позволяет написание action в таком формате:
def show; end
Еще для себя недавно подметил такое написание методов в private:
private
def leaf_params
default_leaf_params.merge params.fetch(:leaf, {}).permit(:title)
end
def default_leaf_params
{ title: new_leafable.model_name.human }
end
Методы внутри private ставим с табами, этот стиль был в проекте от DHH WriteBook, Omakase так формат не исправляет, так как в геме прописаны эти правила:
Стили импортируются из гема:
# Omakase Ruby styling for Rails
inherit_gem:
rubocop-rails-omakase: rubocop.yml
Если нужен CI, прописываем в задачах ./bin/rubocop:
name: Omakase Ruby styling for Rails
on: [push, pull_request]
jobs:
rubocop:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: ruby/setup-ruby@v1
with:
ruby-version: 3.3.4
- run: bundle install
- run: ./bin/rubocop
Начать дискуссию