Module | Singleton |
In: |
singleton.rb
|
The Singleton module implements the Singleton pattern.
Usage:
class Klass include Singleton # ... end
a,b = Klass.instance, Klass.instance a == b # => true a.new # NoMethodError - new is private …
class OtherKlass include Singleton # ... end ObjectSpace.each_object(OtherKlass){} # => 0.
This is achieved by marking
Providing (or modifying) the class methods
def Klass.instance() return @__instance__ end
The instance method of Singleton are