Часто мне нужно проверить, не является ли какое-то значение пустым, и написать, что «Нет данных», вот так:
@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
или использовать вспомогательный метод, или миксины, или что-то еще. Какая рубиновая идеология, ваш опыт и лучшие практики могут рассказать мне.