LazyDoc over DRb


#1

Hey all,

I’m distributing requests to a small farm of Ferret servers across the
network using DRb. In a specific part of my program, I’m trying to
find an entry across servers, and for that, I’m using

index[‘example_doc_id’].load

as the return value of the function in question. This returns a
Ferret::Index::LazyDoc, which is all fine and dandy, except that for
some reason DRb doesn’t like it and won’t return the “hash” to the
remote client.

I tried using index[‘example_doc_id’].load.to_a, and the array gets
returned just fine. For the record, yes, I’ve tried
index[‘example_doc_id’].load.to_hash, but what you get from that is
again a Ferret::Index::LazyDoc, and not a Hash.

I suppose I could manually copy the elements from LazyDoc to a new
Hash, but that’s hacky. Before I resort to it, does anyone have any
ideas?

Thanks in advance.