如何告诉Rubocop忽略特定的目录或文件

时间:2016-04-27 17:00:30

标签: ruby rubocop

我的项目是从第三方宝石扩展开源类,我们不希望保持与我们自己的代码相同的编码标准。重构gem代码并不是一个可行的选择。我们只想让Rubocop忽略复制的代码。

如何指示Rubocop完全忽略文件或目录?

4 个答案:

答案 0 :(得分:68)

根据orde的评论以及the manual的链接,我找到了.rubocop.yml并添加了以下内容:

AllCops:
  Exclude:
    - 'path/to/excluded/file.rb'

其中路径相对于.rubocop.yml

答案 1 :(得分:13)

来自rubocop/default.yml

AllCops:
  Exclude:
    - 'node_modules/**/*'
    - 'vendor/**/*'

答案 2 :(得分:11)

为方便起见,这里是我经常使用的.rubocop.yml。

请参阅.rubocop.yml here的正式解释。

AllCops:
  Excludes:
    - Berksfile
    - recipes/basic.rb
    - attributes/*.rb

# Customize rules
Metrics/LineLength:
  Max: 95

MethodLength:
  Max: 35

Metrics/AbcSize:
   Enabled: false

BlockLength:
  Max: 70

我经常遇到rubocop错误和警告。因此,我发表了这篇文章。

Common Rubocop Errors: Improve Your Ruby Code Quality

答案 3 :(得分:4)

还可以考虑单个文件的注释。非常适合忽略短绒棉而进行的快速而肮脏的临时任务。

# rubocop:disable all

module TempTask
  ...
end

# rubocop:enable all