Module: Ngt::FFI

Extended by:
FFI::Library
Defined in:
lib/ngt/ffi.rb

Defined Under Namespace

Classes: ObjectDistance

Class Method Summary collapse

Class Method Details

.add_finalizer(pointer, method) ⇒ Object



80
81
82
# File 'lib/ngt/ffi.rb', line 80

def self.add_finalizer(pointer, method)
  ObjectSpace.define_finalizer(pointer, finalize(pointer.to_i, method))
end

.finalize(addr, method) ⇒ Object



84
85
86
87
# File 'lib/ngt/ffi.rb', line 84

def self.finalize(addr, method)
  # must use proc instead of stabby lambda
  proc { FFI.send(method, ::FFI::Pointer.new(:pointer, addr)) }
end