Class: GirFFI::Builders::ObjectBuilder
- Inherits:
-
RegisteredTypeBuilder
- Object
- GirFFI::BaseTypeBuilder
- RegisteredTypeBuilder
- GirFFI::Builders::ObjectBuilder
- Includes:
- WithLayout
- Defined in:
- lib/gir_ffi/builders/object_builder.rb
Overview
Implements the creation of a class representing a GObject Object.
Direct Known Subclasses
Defined Under Namespace
Classes: ObjectBaseBuilder
Instance Attribute Summary
Attributes inherited from GirFFI::BaseTypeBuilder
Instance Method Summary collapse
- #ancestor_infos ⇒ Object
- #eligible_properties ⇒ Object
- #find_property(property_name) ⇒ Object
- #find_signal(signal_name) ⇒ Object
- #object_class_struct ⇒ Object
Methods included from WithLayout
Methods inherited from RegisteredTypeBuilder
#setup_instance_method, #setup_method, #target_gtype
Methods inherited from GirFFI::BaseTypeBuilder
#build_class, #initialize, #instantiate_class
Methods included from GirFFI::BuilderHelper
#get_or_define_class, #get_or_define_module, #optionally_define_constant
Constructor Details
This class inherits a constructor from GirFFI::BaseTypeBuilder
Instance Method Details
#ancestor_infos ⇒ Object
38 39 40 |
# File 'lib/gir_ffi/builders/object_builder.rb', line 38 def ancestor_infos @ancestor_infos ||= [info] + info.interfaces + parent_ancestor_infos end |
#eligible_properties ⇒ Object
42 43 44 45 46 |
# File 'lib/gir_ffi/builders/object_builder.rb', line 42 def eligible_properties info.properties.reject do |pinfo| info.find_instance_method("get_#{pinfo.name}") end end |
#find_property(property_name) ⇒ Object
30 31 32 |
# File 'lib/gir_ffi/builders/object_builder.rb', line 30 def find_property(property_name) seek_in_ancestor_infos { |info| info.find_property property_name } end |
#find_signal(signal_name) ⇒ Object
26 27 28 |
# File 'lib/gir_ffi/builders/object_builder.rb', line 26 def find_signal(signal_name) seek_in_ancestor_infos { |info| info.find_signal signal_name } end |
#object_class_struct ⇒ Object
34 35 36 |
# File 'lib/gir_ffi/builders/object_builder.rb', line 34 def object_class_struct @object_class_struct ||= Builder.build_class object_class_struct_info end |