From: Collins Date: 2010-08-27T03:40:06+09:00 Subject: Re: Idiom or method for determining where in the class hierarchy an object fits On Aug 26, 2:30 pm, Mike Stok wrote: > On Aug 26, 2010, at 2:15 PM, Collins wrote: > > > > > > > I have a class hierachy that looks like this > > > class A > > ... > > end > > > class B < A > > ... > > end > > > class C < A > > ... > > end > > > class D < B > > ... > > end > > > class E < C > > ... > > end > > > class F < B > > ... > > end > > > Now class B has a method that expects either members of class D or E > > or Fas a parameter but needs to do something different based upon the > > whether the parameter is a subclass of B or a subclass of C. > > I could check to see if it was D or F as opposed to B but that would > > mean when I added class G > Is there a way to ask an object if it is descended from a particular > > class?  I suppose I could add a method to B and test for the presence > > of that method in the parameter objects but that feels ucky. > > >  Thanks > > >    Collins > > You could try kind_of? e.g. > >  >> o = F.new >  => # >  >> o.kind_of?(A) >  => true >  >> o.kind_of?(B) >  => true >  >> o.kind_of?(C) >  => false > > etc. > > Hope this helps, > > Mike > > -- > > Mike Stok http://www.stok.ca/~mike/ > > The "`Stok' disclaimers" apply. Thank you! I was only aware of instance_of? This is exactly what I was hoping to find... Thanks again Collins