>
> it must miss something
> Any ideas?
>
>

case comparisons are done using ===.

irb(main):017:0> nil.class === NilClass
=> false
irb(main):018:0> nil.class == NilClass
=> true

For classes/modules, it's used to determine if an instance is a  
descendant:

irb(main):027:0> 5 === Fixnum
=> false
irb(main):028:0> Fixnum === 5
=> true

Caleb