Type:
Module

The ObjectSpace module contains a number of routines that interact with the garbage collection facility and allow you to traverse all living objects with an iterator.

ObjectSpace also provides support for object finalizers, procs that will be called when a specific object is about to be destroyed by garbage collection.

1
2
3
4
5
6
7
8
9
include ObjectSpace
 
a = "A"
b = "B"
c = "C"
 
define_finalizer(a, proc {|id| puts "Finalizer one on #{id}" })
define_finalizer(a, proc {|id| puts "Finalizer two on #{id}" })
define_finalizer(b, proc {|id| puts "Finalizer three on #{id}" })

produces:

1
2
3
Finalizer three on 537763470
Finalizer one on 537763480
Finalizer two on 537763480
[]=
  • References/Ruby on Rails/Ruby/Classes/ObjectSpace/ObjectSpace::WeakMap

[]=(p1, p2) Instance Public methods Creates a weak reference from the given

2025-01-10 15:47:30
garbage_collect
  • References/Ruby on Rails/Ruby/Classes/ObjectSpace

GC.start â nilgc.garbage_collect â nilObjectSpace.garbage_collect â nil

2025-01-10 15:47:30
undefine_finalizer
  • References/Ruby on Rails/Ruby/Classes/ObjectSpace

ObjectSpace.undefine_finalizer(obj) Class Public methods Removes all finalizers

2025-01-10 15:47:30
count_objects
  • References/Ruby on Rails/Ruby/Classes/ObjectSpace

ObjectSpace.count_objects([result_hash]) â hash Class Public methods Counts

2025-01-10 15:47:30
each_object
  • References/Ruby on Rails/Ruby/Classes/ObjectSpace

ObjectSpace.each_object([module]) {|obj| ... } â fixnumObjectSpace.each_object([module]) â an_enumerator

2025-01-10 15:47:30
_id2ref
  • References/Ruby on Rails/Ruby/Classes/ObjectSpace

ObjectSpace._id2ref(object_id) â an_object Class Public methods Converts an

2025-01-10 15:47:30
[]
  • References/Ruby on Rails/Ruby/Classes/ObjectSpace/ObjectSpace::WeakMap

[](p1) Instance Public methods Retrieves a weakly referenced object with the

2025-01-10 15:47:30
define_finalizer
  • References/Ruby on Rails/Ruby/Classes/ObjectSpace

ObjectSpace.define_finalizer(obj, aProc=proc()) Class Public methods Adds aProc

2025-01-10 15:47:30