class Fiddle::Closure::BlockCaller

Extends Fiddle::Closure to allow for building the closure in a block

Public Class Methods

new(ctype, args, abi = Fiddle::Function::DEFAULT, &block) click to toggle source


Construct a new BlockCaller object.

  • ctype is the C type to be returned

  • args are passed the callback

  • abi is the abi of the closure

If there is an error in preparing the ffi_cif or ffi_prep_closure, then a RuntimeError will be raised.


include Fiddle

cb =, [TYPE_INT]) do |one|

func =, [TYPE_INT], TYPE_INT)
Calls superclass method Fiddle::Closure::new
# File ext/fiddle/lib/fiddle/closure.rb, line 35
def initialize ctype, args, abi = Fiddle::Function::DEFAULT, &block
  super(ctype, args, abi)
  @block = block

Public Instance Methods

call(*args) click to toggle source

Calls the constructed BlockCaller, with args

For an example see

# File ext/fiddle/lib/fiddle/closure.rb, line 44
def call *args*args)