From: Richard Dale Date: 2003-07-15T03:31:20+09:00 Subject: Custom method_missing doesn't trap super call When I run the code below it produces the following output: ruby missing_super.rb In method_missing: baz In MyClass.foobar missing_super.rb:10:in `foobar': super: no superclass method `foobar' (NameError) from missing_super.rb:16 The non existent call to 't.baz()' is trapped ok. But in MyClass.foobar() the 'super' call gives a 'no superclass method' error rather than calling Base.method_missing as I expected. Does anyone know if there a way of trapping the super call? class Base def method_missing(method, *args) puts "In method_missing: " + method.id2name end end class MyClass < Base def foobar() puts "In MyClass.foobar" super end end t = MyClass.new t.baz() t.foobar() Thanks for any help - I've just started with ruby - the syntax is really nice and 'tidy' (ie un-C++ like :) ) The only other thing I got stuck with is how to remove an item from a hash via C. -- Richard