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
          
        
        
        Description¶ ↑
Construct a new BlockCaller object.
- 
ctypeis the C type to be returned - 
argsare passed the callback - 
abiis 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.
Example¶ ↑
include Fiddle cb = Closure::BlockCaller.new(TYPE_INT, [TYPE_INT]) do |one| one end func = Function.new(cb, [TYPE_INT], TYPE_INT)
              Calls superclass method
              Fiddle::Closure.new
            
          
          
          # File ext/fiddle/lib/fiddle/closure.rb, line 34 def initialize ctype, args, abi = Fiddle::Function::DEFAULT, &block super(ctype, args, abi) @block = block end
Public Instance Methods
          call(*args)
          
          click to toggle source
          
        
        
        Calls the constructed BlockCaller, with
args
For an example see ::new
# File ext/fiddle/lib/fiddle/closure.rb, line 43 def call *args @block.call(*args) end