¿Por qué "verdadero o verdadero y falso" parece ser simultáneamente verdadero y falso?

Me sale lo siguiente:

puts true or true and false
# >> true

mientras que también obtengo:

if true or true and false
  puts "that's true!"
else
  puts "that's false!"
end
# >> that's false!

Por que estrue or true and false ambostrue yfalse (como el gato de Schrödinger)?

Respuestas a la pregunta(4)

Su respuesta a la pregunta