Class: GirFFI::Builders::UserDefinedBuilder

Inherits:
ObjectBuilder show all
Defined in:
lib/gir_ffi/builders/user_defined_builder.rb

Overview

Implements the creation of GObject subclasses from Ruby.

Instance Attribute Summary

Attributes inherited from GirFFI::BaseTypeBuilder

#info

Instance Method Summary collapse

Methods inherited from ObjectBuilder

#ancestor_infos, #class_struct_class, #eligible_properties, #find_property, #find_signal

Methods inherited from RegisteredTypeBuilder

#setup_instance_method, #setup_method

Methods inherited from GirFFI::BaseTypeBuilder

#build_class, #instantiate_class

Methods included from GirFFI::BuilderHelper

#get_or_define_class, #get_or_define_module, #optionally_define_constant

Constructor Details

#initialize(info) ⇒ UserDefinedBuilder

Returns a new instance of UserDefinedBuilder.



10
11
12
# File 'lib/gir_ffi/builders/user_defined_builder.rb', line 10

def initialize(info)
  @info = info
end

Instance Method Details

#setup_classObject



14
15
16
17
18
19
20
21
22
# File 'lib/gir_ffi/builders/user_defined_builder.rb', line 14

def setup_class
  check_ancestry
  setup_layout
  register_type
  setup_constants
  setup_property_accessors
  setup_initializer
  TypeBuilder::CACHE[@gtype] = klass
end

#target_gtypeObject



24
25
26
# File 'lib/gir_ffi/builders/user_defined_builder.rb', line 24

def target_gtype
  @gtype ||= klass.gtype
end