From what I can tell,
unless is almost the same as
The difference is that
if defaults to passing truthy code
unless defaults to passing falsey code
I don’t really have an opinion on the quality of using
unless… but John seems knowledgable about the subject. He has some opinions on
unless that are worth reading.