Некоторые люди называют это "Класс Singleton"
singleton_class = class << animal; self; end
И на самом деле этот одноэлементный класс является хостом для методов класса в любом классе, проверьте этот пример, сначала определив класс Foo с помощью методов класса 'hi' и 'bye':
class Foo
def self.hi ; p "hi" ; end
def self.bye ; p "bye" ; end
end
Foo.singleton_methods #=> ["hi","bye"]
Теперь давайте определим метод, который возвращает нам класс синглтона:
class Object
def singleton_class
class << self
self
end
end
end
Теперь попробуйте это:
Foo.singleton_methods #=> ["bye", "hi"]
Foo.singleton_class.instance_methods(false) #=> ["bye", "hi"]