From: mutahhir hayat Date: 2008-03-20T00:03:43+09:00 Subject: Re: Inspetting a method's caller :) I don't know, but maybe you can implement the methods you *want* as a module method, and use them in your classes that you need such functionality built-into, which would ensure they'll be able to know which class they're under whenever they're called. like module M def foo puts self.class end end class A include M end class B include M end a= A.new a.foo => A b= B.new b.foo => B I might be completely off base here, but i'll still *try* to give you a design based resolution, more often than not, that causes less problems in the long run. HTH Mt.