On 10/11/2010 05:39 AM, Josh Mcdade wrote: > I have server model classes that definitely need DRbUndumped. Except > for the methods that return an array. I would rather it return an array > that is NOT wrapped in a DRbObject, and everything else still be a > DRbObject. > > Here is a client/server example: http://pastie.org/1211949 > > The main reason I need this is because I'm integrating a remote backend > implemented in Ruby with a Java front-end, written in Java and using > JSR223 w/ JRuby to grab the objects. The DRbObject will map to the > appropriate interfaces, except when the DRbObject is an Array. The Java > application only knows the DRbObject as a org.jruby.RubyObject and it > cannot be cast to SomeArray[] for instance. > > I'm asking this in the Ruby forum because the DRbObject behavior is the > same in Ruby/JRuby, I just need it for JRuby purposes. > > I tried patching DRbObject, but I've had no success. Here is my > attempt: > > http://pastie.org/1212829 If you add this line to the client: DRb.start_service then your #each call works. The array stays on the server, however, and each iteration involves a message to and from the server to get the array entry's DRbObject. This would be inefficient for a large array, unless your round-trip latency is small. What do you actually want to get back on the client side? An array of DRbUndumped proxies to RemoteObj instances on the server, or an array of copies of Remote Obj?