I think that's similar to Ruby singletons. But in Ruby singleton is 'built in' to the language so you don't have to check if an instance exists before creating a singleton. The only confusing thing in Ruby is that there are several syntaxes for creating Singletons and singleton methods.
Singleton methods are methods that can be added to a specific object. So if you have class X and objects x1 and 2 you can add method y() to x2 but x1 won't have it.
A singleton class is a class which is used to create a single object. e.g.
ob = Object.new
class << ob
def blather( aStr )
puts("blather, blather #{aStr}")
end
end
Here the unnamed class descends from object, defines methods etc in the usual way and adds them to the object called ob. Now ob is the only object with those methods. No other instance can be created from the class so it is a singleton. As I said there are other syntaxes too but fundamentally that's how singletons work in Ruby.
best wishes
Huw