如何在不抢救异常的情况下验证日期字符串以保持Rubocop HandleExceptions linter满意?

时间:2016-06-27 17:05:25

标签: ruby date rubocop

我有一个字符串,可能是也可能不是有效日期。

我想要一种干净简单的方法来验证,同时保持Rubocop的快乐。

for .. do

我实际上觉得这是一种干净的方式来实现我的需要,但有没有办法解决,同时仍然保持rubocop快乐?

2 个答案:

答案 0 :(得分:2)

添加明确的nil

# TODO: Welcome suggestions for a better way to deal with this...
# rubocop:disable HandleExceptions
def self.valid_date?(date)
  Date.parse(date)
rescue ArgumentError
  nil
end

否则,请在rescue中启用内联.rubocop.yml以获得更短的方法:

Style/RescueModifier:
  Enabled: false

然后:

# TODO: Welcome suggestions for a better way to deal with this...
# rubocop:disable HandleExceptions
def self.valid_date?(date)
  Date.parse(date) rescue nil
end

请记住,您的代码的可读性并不取决于机器所说的内容,而是其他人(即社区)对此的看法。 Rubocop只是一种快速查看代码的工具,无需手动逐行阅读。

答案 1 :(得分:0)

# rubocop:disable Style/RescueModifier
def self.valid_date?(date)
  Date.parse(date) rescue nil
end
# rubocop:enable Style/RescueModifier