rubocop-challengeをRailsアプリで動かそうとしてみたが、よく分からないエラーで動かず。

デバッグのために手元でrubocop_challengerを直接実行してみると、更に違うエラーが出て動かず… そもそも rubocop_challenge go を実行すると、そのRailsアプリに含まれているGemfileの内容で bundle install を始めてしまい、なぜそんなことが実行されるのかよく分からない。rubocopの実行に必要なのは、.rubocop.yml のrequireの項目で定義されているものだけのはずなので、bundle install とかしてはいけない。

bundle install の問題は、とりあえずrubocop gem groupのものだけインストールするように、BUNDLE_WITHOUT環境変数を与えるというworkaroundで上手く解決した。そしてrubocop-challengeで発生するエラーを手元で再現できるようになった。

.rubocop.ymlからローカルの ./lib/foo.rb を読み込むようになっていたせいでエラーが出て処理が止まり、そこで.rubocop_todo.ymlが空の状態に更新され、それを後続の処理がパースしようとしてよく分からないエラーが出て失敗する、という状況だったようだ。

rubocop_challengerに色々とIssueを出した。

しかし真面目にこういうものを運用したい気持ちがあるなら、適切な機能だけを持つものを自作した方が良いのかもと思いつつある。

試しにrubocop_todo_correctorをつくってみたい。

複雑になるので、Pull Requestを出したりする部分はライブラリの外側でやってもらいたいところだが、commitを複数用意してPRを出すとなるとやはりライブラリから叩かないとダメだろうか

とりあえずリポジトリをつくった。実装はまだ無い。

https://github.com/r7kamura/rubocop_todo_corrector

そこそこ実装を進めた。bundle installしてrubocop --auto-gen-configを実行できるところまでは出来たが、もう少し機能性を改善したい。50%ぐらいできた感じ。

運動不足解消の入り口として、腹筋ローラーを配信中にやると良いのではないか