class ODBA::DRbWrapper
Public Class Methods
Public Instance Methods
Source
# File lib/odba/drbwrapper.rb, line 41 def __wrap(obj) if(obj.is_a?(ODBA::Persistable)) DRbWrapper.new(obj.odba_instance) else obj end end
Source
# File lib/odba/drbwrapper.rb, line 21 def method_missing(sym, *args) if(block_given?) res = @obj.__send__(sym, *args) { |*block_args| yield *block_args.collect { |arg| __wrap(arg) } } __wrap(res) else res = @obj.__send__(sym, *args) if(res.is_a?(Array)) res.collect { |item| __wrap(item) } elsif(res.is_a?(Hash)) res.inject({}) { |memo, (key, value)| memo.store(__wrap(key), __wrap(value)) memo } else __wrap(res) end end end
Source
# File lib/odba/drbwrapper.rb, line 18 def respond_to?(sym, *args) super || @obj.respond_to?(sym, *args) end
Calls superclass method