From: Peter Date: 2003-11-28T02:35:40+09:00 Subject: Re: Method wrapping > You realize that you on are speculative grounds claiming that > these circumstances will be rare enough. One of the more common > method redefining circumstances are probably (this base on other > evidence but my gut feeling:-) are of the form > > def meth(a,b,c,new_parm = some_default_value) > .... > end def meth:wrap(a,b,*args) do_something(a, b) super end This WORKS for constructors. Really. And they are a kind of wrappers as Tom pointed out. Unless you'd give b a default value too... > Even if this were to happen rarely, redefining the primary method > in an arity altering way would render the class unusable if the > hooks weren't removed. Being forced to use reflection features to > remove the hooks is NOT suitable for beginners and I wouldn't want > to be bothered (perhaps because I never grew nor ever will grow out > of beginner-tum:-) with this either. There you've got a point. But removing the wrappers could also break other code, no? Unless you only put code in those wrappers that are not needed for correct execution... Peter