先日直したつもりでいた Rails/FilePath
cop への false positive についてリグレッションを作っていたのを直した。
(当然だけど) 非 Rails アプリケーションである RuboCop には Rails
部署の cop はデフォルトで効かないのと、既存テストで担保されていない分でロジックが及んでいなかったということで埋め込んでいたもの。
サンプルで実験するときは、最小限の1行コードのために Rails アプリケーションを使うのも手間なので --only
オプションで明示的な指定をして再現をしたりしていた。
% cat /tmp/a.rb repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?('/') % rubocop --only Rails/FilePath /tmp/a.rb /tmp/a.rb:1:13: C: Rails/FilePath: Please use Rails.root.join('path', 'to') instead. repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?('/') ^^^^^^^^^^^^^^^^^^^^^^^^^^^ 1 file inspected, 1 offense detected
Edge のコードを使ってのレポートをしてくれた Issue の起票者に感謝。