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 >