From 0590e9b677e8c0b7a2364f660f06d9f5bd8fe87d Mon Sep 17 00:00:00 2001 From: Aaron Patterson Date: Fri, 26 Feb 2021 09:57:13 -0800 Subject: Fiddle::Function responds to to_proc This lets us cast a Fiddle::Function to a block, allowing is to write things like: ```ruby f = Fiddle::Function.new(@libc['strcpy'], [TYPE_VOIDP, TYPE_VOIDP], TYPE_VOIDP) define_method :strcpy, &f ``` --- ext/fiddle/lib/fiddle/function.rb | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'ext/fiddle/lib/fiddle/function.rb') diff --git a/ext/fiddle/lib/fiddle/function.rb b/ext/fiddle/lib/fiddle/function.rb index 0f9913adeb..f9910a0524 100644 --- a/ext/fiddle/lib/fiddle/function.rb +++ b/ext/fiddle/lib/fiddle/function.rb @@ -19,5 +19,10 @@ module Fiddle def to_i ptr.to_i end + + # Turn this function in to a proc + def to_proc + lambda { |*args| self.call(*args) } + end end end -- cgit v1.2.3