Module: TreasureData::Logger::TreasureDataLogger::Finalizable
- Included in:
- TreasureData::Logger::TreasureDataLogger
- Defined in:
- lib/td/logger/td_logger.rb
Instance Method Summary collapse
Instance Method Details
#finalizer(obj) ⇒ Object
16 17 18 19 20 21 |
# File 'lib/td/logger/td_logger.rb', line 16 def finalizer(obj) fin = obj.method(:finalize) proc {|id| fin.call } end |
#new(*args, &block) ⇒ Object
8 9 10 11 12 13 14 |
# File 'lib/td/logger/td_logger.rb', line 8 def new(*args, &block) obj = allocate obj.instance_eval { initialize(*args, &block) } dc = DelegateClass(obj.class).new(obj) ObjectSpace.define_finalizer(dc, finalizer(obj)) dc end |