--- !ruby/object:RI::ClassDescription attributes: [] class_methods: - !ruby/object:RI::MethodSummary name: _id2ref - !ruby/object:RI::MethodSummary name: add_finalizer - !ruby/object:RI::MethodSummary name: call_finalizer - !ruby/object:RI::MethodSummary name: define_finalizer - !ruby/object:RI::MethodSummary name: each_object - !ruby/object:RI::MethodSummary name: finalizers - !ruby/object:RI::MethodSummary name: garbage_collect - !ruby/object:RI::MethodSummary name: remove_finalizer - !ruby/object:RI::MethodSummary name: undefine_finalizer comment: - !ruby/struct:SM::Flow::P body: 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. - !ruby/struct:SM::Flow::P body: ObjectSpace also provides support for object finalizers, procs that will be called when a specific object is about to be destroyed by garbage collection. - !ruby/struct:SM::Flow::VERB body: " include ObjectSpace\n\n a = "A"\n b = "B"\n c = "C"\n\n define_finalizer(a, proc {|id| puts "Finalizer one on #{id}" })\n define_finalizer(a, proc {|id| puts "Finalizer two on #{id}" })\n define_finalizer(b, proc {|id| puts "Finalizer three on #{id}" })\n" - !ruby/struct:SM::Flow::P body: produces: - !ruby/struct:SM::Flow::VERB body: " Finalizer three on 537763470\n Finalizer one on 537763480\n Finalizer two on 537763480\n" constants: [] full_name: ObjectSpace includes: [] instance_methods: [] name: ObjectSpace superclass: