Rails 4アプリを使用して、行が長いかどうかをチェックするときに、Rubocopにコメントのある行(コメントまたは行末コメントのあるコードのみ)を無視させたいです。これを行う方法はありますか?
行ごとに警官を無視する方法があります。
構成ファイルを介してそれを行う方法もあります。
rubocop --auto-gen-config
を実行すると、攻撃を無効にするために使用できるファイルが生成されます。
このコマンドは、これらのオプションを読み込むために何をすべきかについてのヒントも提供します。
回線ごとに、警官を有効または無効にすることもできます。
# rubocop:disable RuleByName
This is a long line
# rubocop:enable RuleByName
コードで一度に複数のルールを実行することもできます。
# rubocop:disable BlockComments, AsciiComments
インラインディレクティブを使用すると、ディレクティブはその行に対してのみ有効になり、次のようになります。
# Thanks to @jnt30 for the comment!
method(argument) # rubocop:disable SomeRule, SomeOtherRule
公式マニュアル でRuboCopの詳細を読むことができます。
すべてのルール名を見つけるには、見る価値があります rubocop構成ファイル内
cyberwiz と言う-「ドキュメントを見るのではなく、ルール名が必要なときにrubocop -D
を実行する」 Update:これはフラグなしのデフォルトの動作です。
rubocop.yml
の特定の行を自動的に無視するように正規表現パターンを定義できるため、#
文字で始まるすべての行を無視することを選択できます。
Metrics/LineLength:
Max: 80
IgnoredPatterns: ['\A#']
これは、「インデントされた」コメント行(つまり、空白文字の後に#
文字が続く)も無視するように改善することができます。
ただし、これは、コメント付きのendのコード行を考慮していないことに注意してください。
some_code(that_does_something) # This line would NOT be ignored by Rubocop.
ここでの基本的な考え方は、n文字の後であっても、行の長さを強制することだと思います。デフォルトの80文字は、その数の文字のみを保持できる古いターミナルウィンドウのカーゴカルトです。 コード内 で見た唯一のオプションは、文字数制限を超えるURLを許可するオプションです。
ファイル全体を無視する を使用できます。探しているものではないでしょう。
特定のルールを無視するには、rubocopで次のコメントを使用できます。
# rubocop:disable Metrics/LineLength
def this_could_be_a_very_long_line_that_extends_forever_into_infinity
end
# rubocop:enable Metrics/LineLength
.rubocop.yml
に追加することにより、ファイル全体を無視することもできます。
AllCops:
Exclude:
- path/to/file.rb