“&&” has higher precedence than “||” like in most other mainstream languages; but “or” and “and” in Ruby have the same precedence level.
Consider:
(func1 || func2 && func3) // interpreted as (func1 || (func2 && func3))
but
(func1 or func2 and func3) // interpreted as ((func1 or func2) and func3)