From: "Pieter V." Date: 2009-05-21T00:03:35+09:00 Subject: Re: Super super ? Depending on your purpose, it may make sense to allow the caller to specify which class to invoke the method in.  (This won't frequently be the case, but since you're specifically looking to invoke your Grandfather's method, it might apply here.) --------8<------------------------- def Grandfather   def say_hello(klass=self.class) return super unless self.is_a?(klass)     puts 'Grandfather: Hello'   end end def Father < Grandfather def say_hello(klass=self.class) return super unless self.is_a?(klass) puts 'Father: Hello' end end def Son < Father def say_hello(klass=self.class) return super(Grandfather) unless self.is_a?(klass) puts 'Son: Hello' end end --------8<------------------------- It's not a best practice, but it might prove useful enough for your case. On Wed, May 20, 2009 at 7:46 AM, Ilan Berci wrote: > > Robert Klemme wrote: > > > > > class Son < Father > >    def say_hello > >      Grand_father.instance_method(:say_hello).bind(self).call > >      puts "Son : Hello" > >    end > > end > > > > > > Ahh.. cool! Thanks for the bind() solution, I am aware of it but it > always falls to the back of my head.. I blame either my age, marriage, > or kids on this one.. > > ilan > > > -- > Posted via http://www.ruby-forum.com/. >