# Initialization using the Singleton design pattern

**URL:** <https://www.ruby-forum.com/t/initialization-using-the-singleton-design-pattern/56285>\
**Category:** Ruby\
**Created:** [January 5, 2006, 7:57pm UTC](https://www.ruby-forum.com/t/initialization-using-the-singleton-design-pattern/56285 "2006-01-05T19:57:32Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![johanatan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/8491ac/32.png) [@johanatan](https://www.ruby-forum.com/u/johanatan)\
**Post date:** [January 5, 2006, 7:57pm UTC](https://www.ruby-forum.com/t/initialization-using-the-singleton-design-pattern/56285/1 "2006-01-05T19:57:32Z")

</div>

Hi,

I have a singleton class, as in one that does “include Singleton”. I  
want to run a few methods when the instance is created. Usually one  
would do that in initialize(), but obviously I can’t do that here. This  
is what I’ve thought of but it raises an error which says “super: no  
superclass method `instance’”

class SingletonClass \< ParentClass  
include Singleton

def self.instance  
super  
# initialization code here  
end  
end

What am I doing wrong?

Cheers

---

<div class="post-metadata">

**Author:** ![johanatan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/8491ac/32.png) [@johanatan](https://www.ruby-forum.com/u/johanatan)\
**Post date:** [January 7, 2006, 1:37pm UTC](https://www.ruby-forum.com/t/initialization-using-the-singleton-design-pattern/56285/2 "2006-01-07T13:37:05Z")

</div>

On 05/01/06, Jonathan L. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> I have a singleton class, as in one that does “include Singleton”. I  
> want to run a few methods when the instance is created. Usually one  
> would do that in initialize(), but obviously I can’t do that here. This  
> is what I’ve thought of but it raises an error which says “super: no  
> superclass method `instance’”

Right. Just use #initialize as normal, though.

-austin

---

<div class="post-metadata">

**Author:** ![johanatan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/8491ac/32.png) [@johanatan](https://www.ruby-forum.com/u/johanatan)\
**Post date:** [January 7, 2006, 1:37pm UTC](https://www.ruby-forum.com/t/initialization-using-the-singleton-design-pattern/56285/3 "2006-01-07T13:37:05Z")

</div>

On Jan 5, 2006, at 12:19 PM, Jonathan L. wrote:

> Hi,
> 
> I have a singleton class, as in one that does “include Singleton”. I  
> want to run a few methods when the instance is created. Usually one  
> would do that in initialize(), but obviously I can’t do that here.

Why not? The object is still constructed:

> > require “singleton”  
> > =\> true
> 
> > class JustOne  
> > def initialize  
> > puts “initialize() called”  
> > end  
> > include Singleton  
> > end  
> > =\> JustOne
> 
> > JustOne.instance  
> > initialize() called  
> > =\> #JustOne:0x32321c
> 
> > JustOne.instance  
> > =\> #JustOne:0x32321c

James Edward G. II

---

<div class="post-metadata">

**Author:** ![johanatan](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/8491ac/32.png) [@johanatan](https://www.ruby-forum.com/u/johanatan)\
**Post date:** [January 7, 2006, 1:37pm UTC](https://www.ruby-forum.com/t/initialization-using-the-singleton-design-pattern/56285/4 "2006-01-07T13:37:06Z")

</div>

On Fri, 2006-01-06 at 03:47 +0900, James Edward G. II wrote:

> > > require “singleton”  
> > > =\> #JustOne:0x32321c
> > 
> > > JustOne.instance  
> > > =\> #JustOne:0x32321c

Okay thanks, I’ve got it sorted now. I had tried using initialize()  
previously but I guess I got put off as what I was doing raised an  
exception – so I assumed you weren’t supposed to use initialize()  
without thinking about it any harder.

Cheers
