Class: GirFFI::Builders::RubyToCConvertor

Inherits:
Object
  • Object
show all
Defined in:
lib/gir_ffi/builders/ruby_to_c_convertor.rb

Overview

Builder that generates code to convert values from Ruby to C. Used by argument builders.

Instance Method Summary collapse

Constructor Details

#initialize(type_info, argument_name) ⇒ RubyToCConvertor

Returns a new instance of RubyToCConvertor.



6
7
8
9
# File 'lib/gir_ffi/builders/ruby_to_c_convertor.rb', line 6

def initialize type_info, argument_name
  @type_info = type_info
  @argument_name = argument_name
end

Instance Method Details

#conversionObject



11
12
13
14
# File 'lib/gir_ffi/builders/ruby_to_c_convertor.rb', line 11

def conversion
  args = conversion_arguments @argument_name
  "#{@type_info.argument_class_name}.from(#{args})"
end

#conversion_arguments(name) ⇒ Object



16
17
18
# File 'lib/gir_ffi/builders/ruby_to_c_convertor.rb', line 16

def conversion_arguments name
  @type_info.extra_conversion_arguments.map(&:inspect).push(name).join(', ')
end