¿Cómo permite Ruby un método y una clase con el mismo nombre?

Estaba trabajando en una clase de Singleton en ruby y recordé cómo funciona enfactory_girl. Lo resolvieron para que puedas usar ambosel largo camino Factory.create(...) yel camino corto Factory(...) Lo pensé y tuve curiosidad por ver cómo hicieron la clase.Factory También se comportan como un método.

Ellos simplemente usaronFactory dos veces así:

def Factory (args)
  ...
end

class Factory
  ...
end

Mi pregunta es:¿Cómo logra esto Ruby? ¿Existe algún peligro al utilizar este patrón aparentemente peculiar?

Respuestas a la pregunta(1)

Su respuesta a la pregunta