¿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?