That line is a bit too complex for my taste with an unless and a || in there.  And the last part of it is nearly duplicated above, which is kind of confusing for me :-)