Trans wrote: > On Feb 26, 11:24 pm, Clifford Heath <n... / spam.please.net> wrote: >> I have the following code using facets/basicobject with 1.8, >> and want to know what the equivalent would be for 1.9: ...clip... >> This seems to be ok with 1.8, but 1.9 doesn't have __self__. > as long as Real won't be subclassed; It will be. That's its purpose. > But why do you not want send to route to method_missing, after all > what other methods are there to call? Subclass methods, and eigenclass methods or methods added by define_method. If you take a look at the example code here: <http://activefacts.rubyforge.org/svn/examples/ruby/CompanyDirector.rb> The "binary" class method creates methods in the current class and the class that plays the role at the other end of this binary relationship. In this example, there are String subclasses and normal classes, no Real or Int subclasses, but I want the method to work the same. The point is that these methods are created on the delegate class, and will be called by send as well as directly. BasicObject omits send, so calls to send go to method_missing and get delegated, now what I need. In the Facets implementation, I can re-implement send using __self__, but there seems no way to do that in 1.9. I'm hoping I'm missing something and there is a way to do it. > require 'facets/kernel/as' I'm not familiar with "as", I'll read it now. Clifford Heath.