It's not pretty, but:
[snip]
Though, of course, you can make it prettier by making it re-usable:
class Object
def supercall( method_name, *args )
self.class.superclass.instance_method( method_name ).bind( self
).call( *args )
end
end
class Parent
def knox
puts 'parent'
end
end
class Child < Parent
def knox
puts 'child'
end
def test
supercall( :knox )
end
end
···
From: Gavin Kistner