Las clases de Singleton solo tienen una instancia: su objeto correspondiente. Esto se puede verificar consultando el ObjectSpace
de Ruby:
instances = ObjectSpace.each_object object.singleton_class
instances.count # => 1
instances.include? object # => true
Usando <
, también se puede verificar que sean subclases de la clase real del objeto:
object.singleton_class < object.class # => true
Referencias: