¿Por qué el método 'self' de módulo no puede convertirse en un método de clase singleton?

<code>module Test
  def self.model_method
    puts "this is a module method"
  end
end

class A
  include Test
end

A.model_method
</code>

esto será error con:

método no definido `model_method 'para A: Class (NoMethodError)

Pero cuando uso metaclase de A. funciona:

<code>module Test
  def model_method
    puts "this is a module method"
  end
end

class A
  class << self
    include Test
  end
end

A.model_method
</code>

¿Alguien puede explicar esto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta