Есть ли конфигурация Rubocop специально для рельсов 5.2.3?

Я только что создал новое приложение Rails, используя Ruby 2.6.3 и Rails 5.2.3, и единственное, что я сделал, это установил Rubocop.

После установки Rubocop v0.70.0 и запуска bundle exec rubocop я получаю 89 нарушений. После запуска rubocop -a для их автоматического исправления у меня все еще осталось 34 нарушения. Есть ли конфигурация, которую мне не хватает для проекта rails, или мне нужно будет вручную исправить эти нарушения?


person The Wizard    schedule 24.05.2019    source источник
comment
Вы пробовали что-то вроде этого? Или, возможно, (урезанная) версия этого?   -  person Tom Lord    schedule 24.05.2019
comment
Единственная основная проблема, которую я нахожу, заключается в том, что вам нужно игнорировать такие вещи, как папки db/, log/, node_modules/ и bin/, поскольку они содержат много автоматически сгенерированного материала, который, вероятно, не соответствует rubocop (в зависимости от того, как вы настроил его).   -  person Tom Lord    schedule 24.05.2019
comment
Спасибо за помощь, гем rubocop-rails_config отработал отлично, 53 нарушения все автоисправлено :)   -  person The Wizard    schedule 25.05.2019


Ответы (1)


Rails использует стиль кода, который отличается от стиля rubocop по умолчанию, но rubocop можно настроить для принудительного применения этого стиля.

Например, см. .rubocop.yml из самих рельсов, вы можете используйте его как основу для собственной конфигурации или используйте rubocop-rails_config gem (во время пишет, что это несовместимо с последним rubocop, но отлично работает с gem "rubocop", "0.67.2", только что протестировано - с этой конфигурацией в недавно созданном приложении rails присутствует только несколько автоисправимых проблем)

person Vasfed    schedule 24.05.2019
comment
Спасибо, я понизил версию до rubocop до 0.67.2 и установил rubocop-rails_config, затем после запуска «rails generate rubocop_rails_config: install» было обнаружено только 53 проблемы, которые все были исправлены автоматически. - person The Wizard; 25.05.2019