Различные выходы rubocop
Прямо сейчас rubocop дает мне 3 разных вывода относительно моего проекта rails, в зависимости от того, как я его вызываю.
> rubocop # version: 0.34.2
88 files inspected, 5 offenses detected
>bundle exec rubocop # version: 0.30.1
87 files inspected, no offenses detected
>rake # with :rubocop in my task list
87 files inspected, 35 offenses detected
>bundle exec rake # with :rubocop in my task list
87 files inspected, 35 offenses detected
2 варианта имеют смысл, так как моя системная версия rubocop отличается от версии в моем Gemfile . А 3? wuuuut?
Я предполагаю, что 3-й вывод идет от третьей версии rubocop где-нибудь? Где бы это было? Что тут происходит?
Обновить:
Список заданий: ['ci:setup', :spec, :rubocop, :jshint, 'brakeman:run', 'bundler:audit', 'bundler:outdated']
Обновление 2:
По совету коллеги я оставил это, чтобы попытаться получить работающую версию rubocop во время рейка:
task :rubocop do
require 'rubocop/rake_task'
require 'rubocop/version'
puts RuboCop::Version.version
RuboCop::RakeTask.new do |task|
task.patterns = ['--rails']
end
end
Это печатает 0.30.1
, версия, которую я ожидаю. По-прежнему нет объяснения ошибок.
1 ответ
Ну, это грустно и смущает.
Если бы я внимательнее присмотрелся к задаче о граблях для rubocop, я бы заметил:
task.patterns = ['--rails']
Который добавляет несколько дополнительных полицейских. Добавление этого флага в bundle exec rubocop --rails
совпадает с выводом из rake
запустить.
Я надеюсь, что это поможет кому-то еще заметить это быстрее, чем я.