class WeakRef
Weak Reference class that allows a referenced object to be garbage-collected.
A WeakRef may be used exactly like the object it references.
Usage:
foo = Object.new # create a new object instance p foo.to_s # original's class foo = WeakRef.new(foo) # reassign foo with WeakRef instance p foo.to_s # should be same class GC.start # start the garbage collector p foo.to_s # should raise exception (recycled)
Constants
- VERSION
 
Public Class Methods
                              new(orig)
                              click to toggle source
                            
                            Creates a weak reference to orig
                                  Calls superclass method
                                  
                              
                              # File weakref.rb, line 34 def initialize(orig) case orig when true, false, nil @delegate_sd_obj = orig else @@__map[self] = orig end super end
Public Instance Methods
                              weakref_alive?()
                              click to toggle source
                            
                            Returns true if the referenced object is still alive.
# File weakref.rb, line 55 def weakref_alive? @@__map.key?(self) or defined?(@delegate_sd_obj) end