Проверка PIN-кода, введенного пользователями - PullRequest
0 голосов
/ 15 апреля 2019

Как бы вы осуществили рефакторинг этого кода, который проверяет, добавили ли пользователи 4+-значный ПИН-код, чтобы код был максимально коротким?

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

В идеале, без использования проверки AR во время создания пользователя, поскольку онисначала создаются без ПИН-кода, но в некоторых случаях их можно добавить позже.

PS: ПИН-код по какой-то причине сохраняется в виде строки.

1 Ответ

2 голосов
/ 15 апреля 2019

Я бы пошел с:

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

Почему вы хотите, чтобы ваш код был как можно короче? Я всегда стремился, чтобы мой код был как можно проще для понимания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...