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
  TYPE_MAP[info.info_type].new(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