Module: Fluent::Logger::FluentLogger::Finalizable
- Included in:
- Fluent::Logger::FluentLogger
- Defined in:
- lib/fluent/logger/fluent_logger.rb
Instance Method Summary collapse
Instance Method Details
#finalizer(obj) ⇒ Object
39 40 41 42 43 44 |
# File 'lib/fluent/logger/fluent_logger.rb', line 39 def finalizer(obj) fin = obj.method(:finalize) proc {|id| fin.call } end |
#new(*args, &block) ⇒ Object
31 32 33 34 35 36 37 |
# File 'lib/fluent/logger/fluent_logger.rb', line 31 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 |