【问题标题】:Rubocop: how can I exclude a filename pattern from a metric?Rubocop:如何从指标中排除文件名模式?
【发布时间】:2016-06-22 12:31:19
【问题描述】:

我想在 Rubocop 中对匹配 *_spec.rb(Serverspec 文件)的文件名全局禁用行长度检查。

我尝试通过以下方式将Exclude 添加到config/default.yml,但它不起作用(没有错误,检测到违规行为):

Metrics/LineLength:
  Max: 80
  AllowHeredoc: true
  AllowURI: true
  URISchemes:
    - http
    - https
  Exclude:
    - '*_spec.rb'

如果可能,应该在哪里/如何配置?

【问题讨论】:

    标签: rubocop


    【解决方案1】:

    您可以使用!ruby/regexp 声明基于正则表达式匹配文件:

    Metrics/LineLength:
      Max: 80
      AllowHeredoc: true
      AllowURI: true
      URISchemes:
        - http
        - https
      Exclude:
        - !ruby/regexp /_spec\.rb$/
    

    RuboCop 最近添加了一个new manual,您可以阅读有关包含和排除文件的信息here。

    【讨论】:

    • 据我所知(作为偶尔的 RuboCop 提交者),我们还没有实现对使用这样的通配符的支持。如果需要,您可以在 GitHub 存储库中为其创建功能请求。 :-)
    • 我明白了,我想我认为这是理所当然的,我正在朝着不同的方向进行故障排除。
    • 如果您认为这是理所当然的,那么我们添加对它的支持可能是有意义的。实际答案根本不是很直观,需要深入阅读手册。
    猜你喜欢
    • 2017-10-15
    • 2014-09-10
    • 2020-03-24
    • 1970-01-01
    • 2014-01-06
    • 1970-01-01
    • 2020-12-04
    • 1970-01-01
    • 2013-03-11
    相关资源
    最近更新 更多