Path: | singleton.rb |
Last Update: | Sat Oct 15 23:44:28 AUS Eastern Standard Time 2005 |
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