On 11/6/06, Daniel N <has.sox / gmail.com> wrote:
> On 11/7/06, Jan Svitok <jan.svitok / gmail.com> wrote:
> >
> >
> > Your problem is, that Class.is_a? Object  i.e. object Class is an
> > instance of class Object.
> > Therefore all instance methods of Object are class methods (or vice
> > versa, I'm getting lost a bit ;-)
>
>
> Well that works a treat.  I changed the class definition to
> class Thing
>   include A
> end
>
> and it worked great.  The incestuous relationship between Object and Class
> has not really raised it's head as a problem for me before so it didn't even
> enter my mind.
> Thanx for pointing it out.
>
> Second issue: your instance methods: you can simply put them in main A
> > module (as rails does), or add include InstanceMethods line at the end
> > of A module definition and thus you can leave out the
> > base.send(:include) line
>
>
> Thanx for that.  I had a feeling that might be the case.  With the other
> error I was just unsure.
>
> module A
> > ...
> >   include InstanceMethods
> > end
> >
> > Thanx very much for your reply.

Just to be clear:

IMO your problem is the first issue - the Object and Class
relationship. The second issue is  just a cosmetic change, and has no
impact on whether it works or not. The difference is a) aesthetical b)
how many time the InstanceMethod module is included - either into any
object/class that includes A or just once into A and *through* it into
other objects.