A menudo necesito verificar si algún valor está en blanco y escribir que "No hay datos presentes" así:
@user.address.blank? ? "We don't know user's address" : @user.address
Y cuando tenemos entre 20 y 30 campos que necesitamos procesar de esta manera, se vuelve feo.
Lo que hice es una clase String extendida con 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")
Ahora se ve mejor. Pero todavía es crudo y áspero
Cómo sería mejor resolver mi problema. Tal vez sería mejor extender ActiveSupport class
o usar el método auxiliar o mixins o cualquier otra cosa. Lo que ruby idealogy, su experiencia y sus mejores prácticas me pueden decir.