From time to time I have user.id == nil. And when this happens my lookup fails. What is the most practical way to rescue this code? and what do you typically return when this happens?
def lookup
@data[user.id]["email"]
end
Say a mail method is using the returned value
email(lookup).deliver
or you might be able to do
which will just return nil if user is nil and you call id on it.
The real problem here is that you’ve got a code smell. Whatever class owns the
lookupmethod knows too much about the implementation details of @data. I can’t recommend a fix without more code, but I’d suggest writing a method/class that only knows how to pull the email out of data. Something like:That way this class wouldn’t have to worry about whether or not user is nil. It only has to worry about returning the email.