githubのcommand palleteが進化していて、pull requestのtitleやdescriptionを変更するコマンドが増えているのを発見した。UIも個別のページごとに最適化されるようになっていた。ドキュメントページを見に行ったらその説明も追加されているようだった。

descriptionのeditボタンを押すためにchrome extenisonをつくっていたけれど、このコマンドがあればお役御免かもしれない。

.rubocop_todo_corrector_ignore というファイルを置けるように機能追加した。

1Passwordのアプデをしたら大きめにUIが変わって、そしてone-time passwordをcopyするためのショートカットキーが動かないようだった。これは公式フォーラムにサインアップして不具合報告をしておいた。結構使う機能なのでこれが動かないのは苦しい。

Google Homeとルンバの連携を試した。両方のアプリをiPhoneに入れていたので非常に短い手順で完了できた。3タップぐらい。

音声操作は、「N時間後にルンバを起動して」といった相対時間指定での命令ができるのが便利。

rubocop-todo-correctorにinputs.gh_create_arguments的なオプションを追加したい。 かなりghべったりな形式になるが、レビュアーやプロジェクトや追加のラベルの割当などを柔軟にできるようになる。

BUNDLE_ONLYが使えるようになる変更がMergeされた。bundler 2.4.0には入るはず。

Performance/RedundantMatch copのautocorrectに漏れがあったので改善した。

RuboCopの内部実装にPull Requestを出すべくコードを読んでいる。

RuboCop::Team#investigate(processed_source) が、ファイルを受け取ってOffensesを返すという実装を担っているから、この辺にRubyExtractorを噛ませられるような変更をできないか検討しているところ。

RuboCop::Runner#do_inspection_loop あたりでやるほうが丸いかもしれない。ここがfileからprocessed_sourceに変換している箇所であるので、ここがfileからprocessed_sourcesに変換するように変わったとしても違和感ない。

  1. 一通りCopに掛ける
  2. 不要な rubocop:disable を検知するために1回掛ける
  3. 不要な rubocop:enable を検知するために1回掛ける

というのが1つのファイルに対して行われることらしい。この2, 3の再実行処理のために、sourceが再利用されているっぽい。

do_inspection_loopはprocesed_sourceを引数に取るようにして、もうちょい外側でfileからprocessed_sourceに変換するようにすれば上手くいくかも。

繰り返しの単位が、1つのファイルに対して一通りautocorrectを試して、変更が加わればまたファイルを読み込み直してもう一度、という感じなので、ここより外側でprocessed sourceに分解してると読み込み直しができなくて詰まった。もっと内側でやらないとダメかも。