首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >禁用Rubocop关于方法的投诉

禁用Rubocop关于方法的投诉
EN

Stack Overflow用户
提问于 2017-01-19 15:25:19
回答 2查看 7.4K关注 0票数 9

我有一个类似于这个return if amount == 0的方法,rubocop抱怨说它应该像return if amount.zero?。我怎么能让它跳过那个方法?这是我的.rubocop.yml:

rubocop

代码语言:javascript
复制
StringLiterals:
  EnforcedStyle: double_quotes
  Enabled: true

Style/FrozenStringLiteralComment:
  Enabled: false

Style/TrailingCommaInLiteral:
  Enabled: false

Style/TrailingCommaInArguments:
  Enabled: false

Style/CaseEquality:
  Enabled: false

Documentation:
  Description: "Document classes and non-namespace modules."
  Enabled: false

Metrics/MethodLength:
  CountComments: false
  Max: 15

Rails/Delegate:
  Enabled: false

AllCops:
  Exclude:
    - db/**/*
    - config/**/*
    - script/**/*
    - vendor/**/*
    - bin/**/*
    - Rakefile
    - spec/spec_helper.rb
    - spec/rails_helper.rb
    - spec/teaspoon_env.rb

  TargetRubyVersion: 2.3

Rails:
  Enabled: true

submit_ticket_payment.rb

代码语言:javascript
复制
def call
  return if amount == 0
  Stripe::Charge.create(
    amount: amount,
    currency: "usd",
    description: event_name,
    receipt_email: context.rsvp.email,
    source: context.token,
    statement_descriptor: event_name
  )
rescue Stripe::StripeError
  context.fail!
end

所以基本上我怎么能让它不关心那个特殊的例子呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-19 15:34:07

所讨论的检查由Style/NumericPredicate cop实现。

如果您通常希望启用它,但不抱怨某个事件的发生,您可以通过一个特殊的注释暂时禁用它:

代码语言:javascript
复制
# rubocop:disable Style/NumericPredicate
return if amount == 0
# rubocop:enable Style/NumericPredicate

请注意,需要再次启用它;否则,它将跳过文件其余部分的检查。

票数 19
EN

Stack Overflow用户

发布于 2017-01-19 15:33:31

如果只希望跳过此特定方法的规则,则:

代码语言:javascript
复制
# rubocop:disable Style/NumericPredicate
def call
  return if amount == 0
  # ...
end
# rubocop:enable Style/NumericPredicate
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41745556

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档