From: dblack@... Date: 2007-01-16T21:43:47+09:00 Subject: Re: Finding the super class of an object? Hi -- On Tue, 16 Jan 2007, aaron smith wrote: > > On 1/15/07, dblack@wobblini.net wrote: >> >> Hi -- >> >> On Tue, 16 Jan 2007, Aaron Smith wrote: >> >> > How can I find out what the super class is of an object, Say if a class >> > extends Hash. I need to be able to find a string representation of the >> > super class ('Hash').... is_a? won't work as that requires an actual >> > module or class.. >> >> is_a? won't report an inheritance relationship in any case: >> >> class D < C; end >> D.is_a?(C) # false (unless C is Object maybe....) >> > yes, is_a? does report inheritance. consider this... > > class C > end > > class D < C > end > > t = D.new > > puts t.is_a?(C) I interpreted your question as meaning that, given a class, you wanted a string representation of its superclass -- and my point was that is_a? isn't relevant in that situation, because D.is_a?(C) is false. (It's actually not relevant anyway, since it's a boolean query; it returns true or false, which isn't what you're looking for.) If you want to go from any object to its class's superclass in string form, you would do: obj.class.superclass.name David -- Q. What is THE Ruby book for Rails developers? A. RUBY FOR RAILS by David A. Black (http://www.manning.com/black) (See what readers are saying! http://www.rubypal.com/r4rrevs.pdf) Q. Where can I get Ruby/Rails on-site training, consulting, coaching? A. Ruby Power and Light, LLC (http://www.rubypal.com)