У меня возникла проблема с перехватчиками перед фиксацией в overcommit
, который настроен на запуск rubocop
и rails_best_practices
.
Короче говоря, все три команды, перечисленные ниже, прошли, но overcommit
не позволил мне зафиксировать в git. Любые советы о том, почему/как обойти эту проблему, будут оценены.
# These passed
rubocop -a
rails_best_practices .
overcommit --run
# Git commit failed
$ overcommit --run
Running pre-commit hooks
Analyze with RailsBestPractices..................[RailsBestPractices] OK
Analyze with RuboCop........................................[RuboCop] OK
✓ All pre-commit hooks passed
$ git commit -m 'Ensure lower case with Attr API'
Running pre-commit hooks
Analyze with RailsBestPractices..................[RailsBestPractices] FAILED
Errors on modified lines:
/Users/USER_NAME/projects/APP_NAME/app/models/lower_case_string.rb:2 - remove unused methods (LowerCaseString#cast)
Analyze with RuboCop........................................[RuboCop] FAILED
Errors on modified lines:
/Users/USER_NAME/projects/APP_NAME/app/models/lower_case_string.rb:3:3: C: Layout/IndentationWidth: Use 2 (not 0) spaces for indentation.
✗ One or more pre-commit hooks failed
Теперь я прочитал здесь, что overcommit --run
не запускайте хуки так же, как и при попытке зафиксировать (весь проект или только изменения, которые нужно зафиксировать). Однако я не уверен, как это повлияет на мой случай, тем более что rubocop
и rails_best_practices
также прошли по отдельности. Кстати, обе приведенные здесь ошибки являются ложными тревогами. rails_best_practices
в первую очередь не следует проверять неиспользуемые методы, так как эта проверка была отключена в config/rails_best_practices.yml
.