Module: GirFFI::Builders::TypeBuilder

Defined in:
lib/gir_ffi/builders/type_builder.rb

Overview

Builds a class based on information found in the introspection repository.

Constant Summary collapse

CACHE =
{}
TYPE_MAP =
{
  callback:         CallbackBuilder,
  constant:         ConstantBuilder,
  enum:             EnumBuilder,
  flags:            EnumBuilder,
  interface:        InterfaceBuilder,
  object:           ObjectBuilder,
  struct:           StructBuilder,
  union:            UnionBuilder,
  unintrospectable: UnintrospectableBuilder
}

Class Method Summary collapse

Class Method Details

.build(info) ⇒ Object



31
32
33
# File 'lib/gir_ffi/builders/type_builder.rb', line 31

def self.build info
  builder_for(info).build_class
end

.builder_for(info) ⇒ Object

TODO: Pull up to include :function and :module



36
37
38
# File 'lib/gir_ffi/builders/type_builder.rb', line 36

def self.builder_for info
  TYPE_MAP[info.info_type].new(info)
end