pockestrap

Web Programmer's memo

RuboCopのCop数を数える方法

$ rubocop --show-cops | head
# Available cops (374) + config for /tmp/tmp.osgxetgoX3: 
# Department 'Bundler' (3):
Bundler/DuplicatedGem:
  Description: Checks for duplicate gem entries in Gemfile.
  Enabled: true
  Include:
  - "**/Gemfile"
  - "**/gems.rb"

# Supports --auto-correct

--show-copsを実行すると、先頭にAvailableなCop一覧が出てくる。

rubocop --show-cops | ruby -ryaml -e 'p YAML.load(STDIN.read).keys.size'の出力と一致するので、正しい値だと思う(まあ、つまりこの方法でも良い)。 なお、rubocop-rspeなどのカスタムCopが存在する環境で実行するとその影響を受けてしまうため、何もないディレクトリで実行するのが安全。

Rubyプログラム的に取得したい場合はこんな感じでいける

require 'rubocop'
p RuboCop::Cop::Cop.registry.length