Часто мне нужно проверить, пусто ли какое-то значение и записать, что "Нет данных":
@user.address.blank? ? "We don't know user address" : @user.address
И когда у нас есть около 20-30 полей, которые нам нужно обрабатывать, это становится уродливым.
Я создал расширенный класс String с помощью метода or
class String
def or(what)
self.strip.blank? ? what : self
end
end
@user.address.or("We don't know user address")
Теперь он выглядит лучше. Но он все еще сырой и грубый
Как было бы лучше решить мою проблему. Возможно, было бы лучше расширить ActiveSupport class
или использовать вспомогательный метод или микшины или что-нибудь еще. Какая рубиновая идеология, ваш опыт и лучшие практики могут мне рассказать.