pockestrap

Programmer's memo

rubocop-rspecでもCop Generatorが動くようにした

github.com

github.com

TL;DR

rubocop-rspecにCopを追加する時も、rake new_cop[RSpec/NewCopName]でCopの雛形を作ることができるようになった。

Cop Generatorとは

RuboCopにはrake new_cop[Style/FooBar]などとすると新規Copのテンプレートを作れてしまう便利機能が存在する。 元々は私が雑にrake taskとして書いたもの(#3533)が、RuboCop::Cop::Generatorとして切り出されて(#4335)存在している。

rubocop-rspec

RuboCop RSpecは、RSpecの為のRuboCopプラグインである。 これを使用することでRSpec特有の問題についてRuboCopを使用して検査をすることができる。

今までCop Generatorはクラスとして切り出されていたものの、RuboCop RSpecでは使用することができなかった。 そのため、今回はCop Generatorを少し修正してRuboCop RSpecでも動作するように修正し、RuboCop RSpecでそのCop Generatorを使用するように修正した。

RuboCop RSpecにCopを追加するのが格段に楽になったので、何かCopのアイディアがある人はこの機会にCopを追加してみて欲しい。