class ODBA::DRbWrapper
Public Class Methods
new(obj)
click to toggle source
# File lib/odba/drbwrapper.rb, line 15 def initialize(obj) @obj = obj end
Public Instance Methods
__wrap(obj)
click to toggle 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
__wrappee()
click to toggle source
# File lib/odba/drbwrapper.rb, line 48 def __wrappee @obj end
method_missing(sym, *args) { |*collect { |arg| __wrap(arg) }| ... }
click to toggle 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
respond_to?(sym, *args)
click to toggle source
Calls superclass method
# File lib/odba/drbwrapper.rb, line 18 def respond_to?(sym, *args) super || @obj.respond_to?(sym, *args) end