読者です 読者をやめる 読者になる 読者になる

Performance/RegexpMatch cop を見てた

RuboCop には、先日 pocke さんが追加した Performance/RegexpMatch cop がある。

github.com

この cop を Ruby 2.4.0 にしようとしているプロジェクトに適用しようと試みた。ちなみにこの日記を書いている時点では、Performance/RegexpMatch cop を含んだ RuboCop のバージョンはまだリリースされていないので、以下のような手順で最新の RuboCop を手元で使った。手元に RuboCop のソースコードがない人向けに最初からの手順を記しておく。

% ghq get https://github.com/bbatsov/rubocop # git clone https://github.com/bbatsov/rubocop でも良い
% cd `ghq list -p rubocop`
% bundle install # 念のため bundle install && rake spec とテストを流してみると堅実
% rake install   # 念のため rake build 単体で gem のビルドで問題がないか rake install の前に見ておくと堅実かも

ここまでで、master の状態の RuboCop が gem としてインストールされる。

あとは特定の cop を autocorrect 付きで実行したかったので、対象プロジェクトのディレクトリに移動して以下。

% rubocop --only Performance/RegexpMatch -a

実行してみたところ Regexp#=== の実装も欲しくなったので、プロジェクトの納会っぽいのが終わった帰宅後に PR したりしていた。

github.com

ちなみにこの PR をとおして、GiHub 上の Markdown<details> タグをはじめて使った。