On Aug 26, 2:30 ¨Βν¬ Νιλε Στολ Όν®®®ΐστολ®γαΎ χςοτεΊ > 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<B...end I'd have to go back and touch B. > > Is there a way to ask an object if it is descended from a particular > > class? ¨Β συπποσγουμαδνετθοδ το αξτεστ ζοτθπςεσεξγε > > of that method in the parameter objects but that feels ucky. > > > ¨Βθαξλ> > > ¨Βομμιξσ > > You could try kind_of? e.g. > > > o = F.new > > #<F:0x00000100a74a30> > > o.kind_of?(A) > > true > > o.kind_of?(B) > > true > > o.kind_of?(C) > > false > > etc. > > Hope this helps, > > Mike > > -- > > Mike Stok <m... / stok.ca>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