# How do I initialise

**URL:** <https://www.ruby-forum.com/t/how-do-i-initialise/186404>\
**Category:** Rails\
**Created:** [April 6, 2010, 5:12pm UTC](https://www.ruby-forum.com/t/how-do-i-initialise/186404 "2010-04-06T17:12:17Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![johnlester](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e480ec/32.png) [@johnlester](https://www.ruby-forum.com/u/johnlester)\
**Post date:** [April 6, 2010, 5:12pm UTC](https://www.ruby-forum.com/t/how-do-i-initialise/186404/1 "2010-04-06T17:12:17Z")

</div>

Hi, I’m playing around with module instance variables. I can set one up  
and initialise it when the module is included in a class. What I can’t  
work out is how I initialise one when a class inherits another class  
that includes the module.

See [http://pastie.org/905720](http://pastie.org/905720)

This creates two classes, the first inherits a module that contains an  
instance variable. The second inherits the first. The instance variable  
in the first class is initialised as expected, the second (inherited  
one) is not. The output I get is below:

the data for class One is Tue Apr 06 15:10:43 +0000 2010  
the data for class Two is

How should I modify the module so that the initialisation takes place  
when the module is included via inheritance ?

Thanks.

---

<div class="post-metadata">

**Author:** ![johnlester](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e480ec/32.png) [@johnlester](https://www.ruby-forum.com/u/johnlester)\
**Post date:** [April 6, 2010, 5:19pm UTC](https://www.ruby-forum.com/t/how-do-i-initialise/186404/2 "2010-04-06T17:19:34Z")

</div>

On Apr 6, 4:12 pm, John L. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> one) is not. The output I get is below:
> 
> the data for class One is Tue Apr 06 15:10:43 +0000 2010  
> the data for class Two is

You’ve got class instance variables which (unlike class variables)  
aren’t shared around the inheritance hierachy at all. This is a  
slightly murky area which I wrote a bit about here:

> **[Fun with class variables - Space Vatican](https://www.spacevatican.org/2008/8/19/fun-with-class-variables/)**
>
> Class variables are a slightly fiddly bit of ruby. They don’t always quite behave the way you expect. ActiveSupport bundles up a large number …

Searching for class instance variables should also turn up some  
interesting reading material.

Fred

---

<div class="post-metadata">

**Author:** ![johnlester](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/e480ec/32.png) [@johnlester](https://www.ruby-forum.com/u/johnlester)\
**Post date:** [April 14, 2010, 11:39pm UTC](https://www.ruby-forum.com/t/how-do-i-initialise/186404/3 "2010-04-14T23:39:21Z")

</div>

> This is a slightly murky area

A murky area indeed. Been away from it for a few days but just sorted  
myself out with your help. Scope when playing with module that extend  
classes is little short of a nightmare.
