Por que o método 'self' do módulo não pode se tornar um método singleton de classe?
module Test
def self.model_method
puts "this is a module method"
end
end
class A
include Test
end
A.model_method
isso será erro com:
Método indefinido `model_method 'para A: Class (NoMethodError)
Mas quando eu uso metaclasse de A. funciona:
module Test
def model_method
puts "this is a module method"
end
end
class A
class << self
include Test
end
end
A.model_method
Alguém pode explicar isso?