验证用户输入的PIN

时间:2019-04-15 09:22:08

标签: ruby

您将如何重构此代码,以检查用户是否添加了4位以上的PIN码,从而使代码尽可能短?

def has_pin?
  return self.pin.to_i > 1000 rescue nil
  false
end

理想情况下,用户创建时无需使用AR验证,因为它们最初是没有PIN的,但是在某些特定情况下可以选择稍后添加。

PS:出于某种原因,PIN会存储为字符串。

1 个答案:

答案 0 :(得分:2)

我会选择:

def pin_valid?
  pin.present? && pin.match?(/\A\d{4,}\z/)
end

您为什么要使代码尽可能短?我一直希望尽可能使代码易于理解。