Method: FFI::VariadicInvoker#attach

Defined in:
lib/ffi/variadic.rb

#attach(mod, mname) ⇒ Object

Attach the invoker to module mod as mname



53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/ffi/variadic.rb', line 53

def attach(mod, mname)
  invoker = self
  params = "*args"
  call = "call"
  mname = mname.to_sym
  mod.module_eval "    @ffi_functions = {} unless defined?(@ffi_functions)\n    @ffi_functions[\#{mname.inspect}] = invoker\n\n    def self.\#{mname}(\#{params})\n      @ffi_functions[\#{mname.inspect}].\#{call}(\#{params})\n    end\n\n    define_method(\#{mname.inspect}, &method(\#{mname.inspect}))\n  code\n  invoker\nend\n", __FILE__, __LINE__