Есть ли способ, которым я могу изменить значение в моей модели, прежде чем оно перейдет к MySQL в предложении WHERE
?
В частности, я работаю с телефонными номерами и для обеспечения конфиденциальности пользователей,Я храню только хешированные номера телефонов SHA256 в БД. Но , я хочу иметь возможность работать с моделью так, как будто она не хэширована.
Например:
def phone_number=(number)
write_attribute(:phone_number, OpenSSL::HMAC.hexdigest('SHA256', 'salt', number))
end
Это позволяет мне сохранить необработанный номер телефона.и имейте это автоматическое хеширование.Но есть ли способ, которым я могу сделать
PhoneNumbers.where(phone_number: '555-1234')
и получить хешированный '555-1234'
до его перевода в SQL?