Implements the creation of a Ruby function definition out of a GIR IFunctionInfo.
# File lib/gir_ffi/builder/function.rb, line 8 def initialize info, libmodule @info = info @libmodule = libmodule end
# File lib/gir_ffi/builder/function.rb, line 13 def generate vargen = GirFFI::VariableNameGenerator.new @data = @info.args.map {|arg| Argument.build vargen, arg, @libmodule} @rvdata = ReturnValueFactory.build vargen, @info alldata = @data.dup << @rvdata alldata.each {|data| idx = data.type_info.array_length if idx > -1 data.length_arg = @data[idx] @data[idx].array_arg = data end } setup_error_argument vargen return filled_out_template end
# File lib/gir_ffi/builder/function.rb, line 32 def pretty_print generate end