Object
# File drb/weakidconv.rb, line 13 def initialize super() @immutable = {} @map = ObjectSpace::WeakMap.new end
# File drb/weakidconv.rb, line 19 def add(obj) synchronize do begin @map[obj] = self rescue ArgumentError @immutable[obj.__id__] = obj end return obj.__id__ end end
# File drb/weakidconv.rb, line 30 def fetch(ref) synchronize do @immutable.fetch(ref) { @map.each { |key, _| return key if key.__id__ == ref } raise RangeError.new("invalid reference") } end end
This page was generated for Ruby 3.1.2
Ruby-doc.org is a service of James Britt and Neurogami, an erratic source of art, music, and technology.
Generated with Ruby-doc Rdoc Generator 0.42.0.