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