回答:
行ごとに警官を無視する方法があります。
設定ファイルを介してそれを行う方法もあります。
実行する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
ドキュメントを見るのではなく、ルール名が必要なときに実行する」更新:これは現在、フラグなしのデフォルトの動作です。
#!/bin/env ruby
コメント行でさえコメントであり、コードであり、意味的に重要です。コメントは常に「コメント」だけではありません。
で特定の行を自動的に無視するように正規表現パターンを定義するrubocop.yml
ことができるので、#
文字で始まるすべての行を無視するように選択できます。
Metrics/LineLength:
Max: 80
IgnoredPatterns: ['\A#']
これは、「インデントされた」コメント行(つまり、空白の後に文字が続く#
)も必要に応じて無視されるように改善することができます。
ただし、これはコメントで終わるコード行を考慮していないことに注意してください。
some_code(that_does_something) # This line would NOT be ignored by Rubocop.
IgnorePatterns: ['(\A|\s)#']
IgnoredPatterns
代わりに入力する必要がありますIgnorePatterns
(「d」の文字がありません)。
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
ここでの基本的な考え方は、n文字の後に何があっても、行の長さを強制したいということです。デフォルトの80文字は、その数の文字しか保持できない古いターミナルウィンドウの一部のカーゴカルトです。コードで見た唯一のオプションは、文字数制限を超える可能性のあるURLを許可するオプションです。