ちょっとRuby破壊した

これはなに?

Objectの==とequal?をいじって
==で何が何でもtrueを返します。
たとえば 1 == 2でもtrueを返します。

実行結果

a = #<Object:0x26dcc>
b = #<Object:0x26db8 @foo="bar">
c = "foo"
EQUAL1:
a == a     =>true
b == b     =>true
c == c     =>true
c == "foo" =>true
c == a     =>false
a == b     =>false
b == c     =>false
a == c     =>false
b == a     =>false
c == b     =>false
c == 1     =>false
EQUAL2:
a == a     =>true
b == b     =>true
c == c     =>true
c == "foo" =>true
c == a     =>true
a == b     =>true
b == c     =>true
a == c     =>true
b == a     =>true
c == b     =>true
c == 1     =>true

EQUAL1が破壊前
EQUAL2が破壊後です