LoginSignup
2
1

More than 5 years have passed since last update.

MeowCop に CLI 機能を追加した

Posted at

こんにちは、Pocke です。今回 MeowCop に CLI 機能を追加したので記事にしました。

MeowCop とは

「全てのプロジェクトで有効に出来るCop」のみを集めたRuboCopの設定ファイルを提供するGemです。
RuboCop にはスペースの有無などを検出するStyle系のCopも数多く含まれていますが、それらのCopはプロジェクトによっては相性がよくない可能性があります。
MeowCopではそのようなCopを無効化し、バグを検出するようなCopのみを有効にした設定を提供しています。

CLI 機能とは

今回追加された CLI 機能では、新たに meowcop コマンドが提供されます。
meowcop コマンドでは現在 initrun の2つのアクションが提供されています。

Installation

CLI 機能は最新の MeowCop に含まれているため、最新の MeowCop をインストールする必要があります。

$ gem install meowcop

meowcop init

MeowCop を使い始める時、以前は手で .rubocop.yml を編集する必要がありました。
ですが、meowcop init コマンドを使用すると、.rubocop.yml の初期化を自動で行うことが可能です。

$ meowcop init
Meow! .rubocop.yml has been created successfully.

$ cat .rubocop.yml
# To use the MeowCop gem.
inherit_gem:
  meowcop:
    - config/rubocop.yml

# Modify the version if you don't use MRI 2.1.
AllCops:
  TargetRubyVersion: 2.1

# You can customize rubocop settings.
# For example.
# Style/FrozenStringLiteralComment:
#   Enabled: true
#   EnforcedStyle: always

meowcop run

通常 MeowCop を使用するには上記のように .rubocop.yml を編集する必要があります。
ですが、meowcop run コマンドを使用することで、一時的に MeowCop を適用した状態で RuboCop を走らせることが可能となります。

# デフォルトの設定で RuboCop が実行される
$ rubocop

# MeowCop の設定を使用した状態で RuboCop が実行される
$ meowcop run

# RuboCop にオプションを渡すことも可能です
$ meowcop run --format json

これにより、「ちょっと MeowCop を試してみたい」「RuboCop を導入していないプロジェクトだけど一回 Lint をかけてバグがないか見たい」などの場合に、MeowCop を簡単に試すことが可能となります。

まとめ

今回の CLI 機能の追加により、MeowCop を試すことが簡単になりました。
デフォルトの設定で RuboCop の警告がうるさくて導入を諦めてしまった方など、これを機に MeowCop を適用して RuboCop を導入してみてはいかがでしょうか?

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1