Jeff Wood wrote:
> These are a good start, but what I'm really trying to do is come up with a
> completely clean way to do DRb ...

It really helps when you say what you actually want to do :)

It seems as if the DRb object already works just like you want
except that it says it is a DRbObject when you do #inspect or
something? Or is there some other functionality that you need?

> Don't get me wrong, I love DRb for what it is, but I want transparent proxy.
> 
> So, I want to be able to do DRb::Proxy.new( "druby://add.ress:1234" )
> 
> and get back an object I can call methods on ... that will report it self as
> whatever the Proxy is proxying not DRbObject ...
> 
> Does that make sense? I am wanting to be able to use irb with DRb and get
> live auto-completion across the wire ...
> 
> I figure a transparent proxy is the ONLY way ...
> 
> let me know if I'm going down the wrong path.
> 
> j.
> 
> On 10/13/05, Ara.T.Howard <Ara.T.Howard / noaa.gov> wrote:
> 
>>On Fri, 14 Oct 2005, Ara.T.Howard wrote:
>>
>>
>>>this'll be a good start:
>>
>><snip backwards reply>
>>
>>scratch that - try this:
>>
>>harp:~ > cat a.rb
>>module Proxy
>>def self::new obj
>>klass = Class::new do
>>ignore = %w( __send__ __id__ )
>>
>>obj.class.instance_methods.each do |m|
>>next if ignore.include? m
>>module_eval <<-code
>>def #{ m } *a, &b
>>__obj.send "#{ m }", *a, &b
>>end
>>code
>>end
>>
>>attr_accessor '__obj'
>>
>>def initialize obj
>>self.__obj = obj
>>end
>>
>>self
>>end
>>klass::new obj
>>end
>>end
>>
>>a = String::new 'forty-two'
>>b = Proxy::new a
>>
>>p a.class
>>p b.class
>>
>>p(a.methods == b.methods)
>>
>>p b.upcase
>>
>>
>>harp:~ > ruby a.rb
>>String
>>String
>>true
>>"FORTY-TWO"
>>
>>
>>-a
>>--
>>
>>===============================================================================
>>| email :: ara [dot] t [dot] howard [at] noaa [dot] gov
>>| phone :: 303.497.6469
>>| Your life dwells amoung the causes of death
>>| Like a lamp standing in a strong breeze. --Nagarjuna
>>
>>===============================================================================
>>
>>
>>
> 
> 
> 
> --
> "http://ruby-lang.org -- do you ruby?"
> 
> Jeff Wood
>