Spesso ho bisogno di controllare se qualche valore è vuoto e scrivere "Nessun dato presente" in questo modo:
@user.address.blank? ? "We don't know user's address" : @user.address
E quando abbiamo circa 20-30 campi che dobbiamo elaborare in questo modo, diventa brutto.
Quello che ho fatto è una classe String estesa con or
metodo
class String
def or(what)
self.strip.blank? ? what : self
end
end
@user.address.or("We don't know user's address")
Adesso sta meglio. Ma è ancora grezzo e grezzo
Come sarebbe meglio risolvere il mio problema. Forse sarebbe meglio estendere ActiveSupport class
o utilizzare il metodo di supporto o i mixin o qualsiasi altra cosa. Che idealogia Ruby, la tua esperienza e le migliori pratiche possono dirmi.