Freqüentemente, preciso verificar se algum valor está em branco e escrever "Sem dados presentes" assim:
@user.address.blank? ? "We don't know user's address" : @user.address
E quando temos cerca de 20-30 campos que precisamos processar dessa forma, fica feio.
O que fiz é uma classe String estendida com or
método
class String
def or(what)
self.strip.blank? ? what : self
end
end
@user.address.or("We don't know user's address")
Agora está parecendo melhor. Mas ainda é cru e áspero
Como seria melhor resolver meu problema. Talvez seja melhor estender ActiveSupport class
ou usar o método auxiliar ou mixins ou qualquer outra coisa. O que a idealogia do Ruby, sua experiência e melhores práticas podem me dizer.