Module: RMExtensions::ObjectExtensions::Deallocation
- Defined in:
- lib/motion/deallocation.rb
Instance Method Summary collapse
-
#rmext_cancel_on_dealloc(block) ⇒ Object
removes a previously added block from the deallocation callback list.
-
#rmext_on_dealloc(&block) ⇒ Object
perform a block before
selfwill dealloc.
Instance Method Details
#rmext_cancel_on_dealloc(block) ⇒ Object
removes a previously added block from the deallocation callback list
17 18 19 20 21 22 23 24 |
# File 'lib/motion/deallocation.rb', line 17 def rmext_cancel_on_dealloc(block) @rmext_on_dealloc_blocks ||= {} if internalObject = @rmext_on_dealloc_blocks[block] internalObject.block = nil @rmext_on_dealloc_blocks.delete(block) end nil end |
#rmext_on_dealloc(&block) ⇒ Object
perform a block before self will dealloc. the block given should have one argument, the object about to be deallocated.
9 10 11 12 13 14 |
# File 'lib/motion/deallocation.rb', line 9 def rmext_on_dealloc(&block) internalObject = ::RMExtensions::OnDeallocInternalObject.create("#{self.class.name}:#{object_id}", self, block) @rmext_on_dealloc_blocks ||= {} @rmext_on_dealloc_blocks[internalObject] = internalObject nil end |