ara.t.howard / noaa.gov schrieb:
> (... mauricio's as always fine solution ...)
> 
> thanks a bunch - i'll play with this

Ara, do you need to control this on the client or on the server? Per 
object or per class? There are several possible implementations based on 
Mauricio's code. For example, with the following the disable/enable 
methods work on a per object basis:

   module DRbUndumped

     @undumped_disabled = {}

     def self.undumped_disabled? obj
       @undumped_disabled[ DRb.to_id(obj) ]
     end

     def self.disable_undumped obj
       @undumped_disabled[ DRb.to_id(obj) ] = true
     end

     def self.enable_undumped obj
       @undumped_disabled.delete DRb.to_id(obj)
     end

     def undumped_disabled?
       DRbUndumped.undumped_disabled? self
     end

     def disable_undumped
       DRbUndumped.disable_undumped self
     end

     def enable_undumped
       DRbUndumped.enable_undumped self
     end

     def kind_of? arg
       (arg != DRbUndumped || !undumped_disabled?) && super
     end

     def respond_to? arg
       (arg != :_dump || !undumped_disabled?) && super
     end

   end

It doesn't allow to re-enable DRbUndumped on the client side. If you 
need this, the code has to be changed a little bit.

Regards,
Pit