class ODBA::DRbIdConv
Public Class Methods
new(*args)
click to toggle source
Calls superclass method
# File lib/odba/drbwrapper.rb, line 53 def initialize(*args) super @unsaved = {} end
Public Instance Methods
odba_update(key, odba_id, object_id)
click to toggle source
# File lib/odba/drbwrapper.rb, line 57 def odba_update(key, odba_id, object_id) case key when :store @unsaved.store(object_id, odba_id) when :clean, :delete @unsaved.delete(object_id) end end
to_id(obj)
click to toggle source
Calls superclass method
# File lib/odba/drbwrapper.rb, line 75 def to_id(obj) if(obj.is_a?(ODBA::Persistable)) if(obj.odba_unsaved?) obj.odba_add_observer(self) super else obj.odba_id.to_s end else super end end
to_obj(ref)
click to toggle source
Calls superclass method
# File lib/odba/drbwrapper.rb, line 65 def to_obj(ref) test = ref if(test.is_a?(String) || (test = @unsaved[ref])) DRbWrapper.new(ODBA.cache.fetch(test.to_i)) else super end rescue RuntimeError => e raise RangeError, e.message end