I wrote Ruby for years (for fun). I always had to stop and think twice about 'unless' and translate it into 'if not'.
That said, when reading code, I often have to pause and mentally translate "unless" to "if not". This is especially true for more complex logic.
Elegant, yes. Additional mental overhead at times, certainly.