class DRb::WeakIdConv::WeakSet
Public Class Methods
                              new()
                              click to toggle source
                            
                            
                                  Calls superclass method
                                  
                              
                              # File drb-2.2.1/lib/drb/weakidconv.rb, line 14 def initialize super() @immutable = {} @map = ObjectSpace::WeakMap.new end
Public Instance Methods
                              add(obj)
                              click to toggle source
                            
                            # File drb-2.2.1/lib/drb/weakidconv.rb, line 20 def add(obj) synchronize do begin @map[obj] = self rescue ArgumentError @immutable[obj.__id__] = obj end return obj.__id__ end end
                              fetch(ref)
                              click to toggle source
                            
                            # File drb-2.2.1/lib/drb/weakidconv.rb, line 31 def fetch(ref) synchronize do @immutable.fetch(ref) { @map.each { |key, _| return key if key.__id__ == ref } raise RangeError.new("invalid reference") } end end