Tipos de classe Ruby e instruções de caso

Qual é a diferença entre

case item.class
when MyClass
  # do something here
when Array
  # do something different here
when String
  # do a third thing
end

e

case item.class
when MyClass.class
  # do something here
when Array.class
  # do something different here
when String.class
  # do a third thing
end

Por alguma razão, o primeiro deles funciona às vezes e o segundo não, e outras vezes, o segundo funciona e o primeiro não. Por quê? Qual é a maneira "correta" de fazer isso?

questionAnswers(5)

yourAnswerToTheQuestion