This might confuse a reader. The Object === cases are successful, because the Class-objects Integer and String are Objects. In ruby everything is an Object.
irb(main):009:0> String === String
=> false
irb(main):010:0> Integer === Integer
=> false
irb(main):011:0> Class === Integer
=> true
irb(main):012:0> Class === String
=> true