Часто мне нужно проверить, не является ли какое-то значение пустым, и написать вот так: «Нет данных»:
@user.address.blank? ? "We don't know user's 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's address")
Теперь это выглядит лучше. Но он все еще грубый и грубый
Как лучше было бы решить мою проблему. Может быть, было бы лучше расширить ActiveSupport class
или использовать вспомогательный метод, миксины или что-то еще. Что мне могут рассказать рубиновая идеология, ваш опыт и лучшие практики.