Object Finalizers help


#1

Heya guys,

This one is bothering me as its evading my eye. I’m trying to set a
callback on finalization of an object, ie: a finalizer set through a
plugin to the model.

Example In Plugin:
def acts_as_goat
class_eval do
ObjectSpace.define_finalizer(self, Proc.new {self.conn.close} )
end
end

class UberGoat < ActiveRecord::Base
acts_as_goat
end

Anyways, it seems to not be calling the finalizer? Is this the correct
way to set a finalizer or am I going about it the wrong way. I need to
close a socket connection after the model is done being used, not
necessarily a destroy, but out of scope where GC usually happens.

Thanks for any help.