`Rails/FilePath` cop へのリグレッションを直した

先日直したつもりでいた Rails/FilePath cop への false positive についてリグレッションを作っていたのを直した。

(当然だけど) 非 Rails アプリケーションである RuboCop には Rails 部署の cop はデフォルトで効かないのと、既存テストで担保されていない分でロジックが及んでいなかったということで埋め込んでいたもの。

github.com

サンプルで実験するときは、最小限の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 の起票者に感謝。