module BindingDumper::Memories
Module for storing mapping { dumped object_id => restored object }
used for BindingDumper::Dumpers::ExistingObjectDumper strategy
@see BindingDumper::UniversalDumper
@example
BindingDumper::UniversalDumper.memories # => {} o = Object.new BindingDumper::UniversalDumper.remember!(123, o) BindingDumper::UniversalDumper.with_memories(123) == o # => true
Public Instance Methods
flush_memories!()
click to toggle source
Flushes existing memories about restored objects
# File lib/binding_dumper/memories.rb, line 24 def flush_memories! @memories = {} end
memories()
click to toggle source
Returns hash containing all restored objects
@return [Hash]
# File lib/binding_dumper/memories.rb, line 18 def memories @memories ||= {} end
remember!(object, object_id)
click to toggle source
Saves passed object
and marks it with object_id
@param object [Object] @param object_id [Fixnum]
# File lib/binding_dumper/memories.rb, line 33 def remember!(object, object_id) memories[object_id] = object end
with_memories(old_object_id) { || ... }
click to toggle source
Returns an object from memories with old_object_id
or yields
@param old_object_id [Fixnum]
@yield
# File lib/binding_dumper/memories.rb, line 44 def with_memories(old_object_id, &block) if memories.has_key?(old_object_id) memories[old_object_id] else yield end end