En Ruby, como en muchos otros lenguajes de programación OO, los operadores se pueden cargar. Sin embargo, solo ciertos operadores de caracteres pueden estar sobrecargados.¿Por qué Ruby Only Permitting Certain Operator Overloading?
Esta lista puede ser incompleta, pero aquí están algunos de los operadores que no pueden ser sobrecargados:
!, not, &&, and, ||, or
Como mencionó Jorg en su respuesta, '!' Puede anularse. –