views:

285

answers:

3

The singleton pattern is a design pattern that is used to restrict instantiation of a class to one object instance. Although I know how to code the singleton pattern in C++ and Java, I was wondering if anyone know how to implement it in Ruby?

+5  A: 

Use the singleton module:

class Clazz
include Singleton
end

See http://www.ruby-doc.org/stdlib/libdoc/singleton/rdoc/index.html for more info.

cynicalman
+7  A: 

Actually, the above answer was not completely correct.

require 'singleton'

class Example
include Singleton
end

You also need to include the require 'singleton' statement.

CodingWithoutComments
A: 

You could use modules to the same effect I believe, although its not "the singleton pattern" you can have global state that way (which is what a singleton is ! Naughty global state !).

Michael Neale