From: "Jan E." Date: 2012-11-28T20:35:59+09:00 Subject: Re: How to know in which class we are when inheriting Hi, the "self" keyword is always resolved in the current context. So when you call an inherited method or super(), "self" always points to the current instance and not the originating class or something. This wouldn't even make sense in your case, because there is no instance of One that "self" could refer to. If you want to know the class where a certain method is defined, use Method#owner: #----------------- class A def f puts method(:f).owner end end class B < A; end b = B.new b.f #----------------- However, I have a bad feeling about what you're going to do with this. What are you trying to do? -- Posted via http://www.ruby-forum.com/.