eastcoastcoder
2/12/2006 11:22:00 PM
Very often I have a question method, which, in some cases, the caller
would want to know why as well.
Examples:
def valid?
end
def abort?
end
Ruby does not allow subclassing true and false, so, if these methods
return one of those, they can't return any additional info. But
sometimes the caller needs additional info, as in:
if !valid? logger.warn "Not valid: #{why not?}"
What is the best way to handle this? I could have those methods set
@instance_variables, but this seems a little hackish, and could
introduce race conditions.
Is there anyway to return false, "reason", or something of that sort?
What is the preferred, idiomatic way of doing this?