Class: GirFFI::Builders::PropertyBuilder
- Inherits:
-
Object
- Object
- GirFFI::Builders::PropertyBuilder
- Defined in:
- lib/gir_ffi/builders/property_builder.rb
Overview
Creates property getter and setter code for a given IPropertyInfo.
Instance Method Summary collapse
- #build ⇒ Object
- #container_defines_getter_method? ⇒ Boolean
- #getter_def ⇒ Object
-
#initialize(property_info) ⇒ PropertyBuilder
constructor
A new instance of PropertyBuilder.
- #setter_def ⇒ Object
- #setup_getter ⇒ Object
- #setup_setter ⇒ Object
Constructor Details
#initialize(property_info) ⇒ PropertyBuilder
Returns a new instance of PropertyBuilder.
5 6 7 |
# File 'lib/gir_ffi/builders/property_builder.rb', line 5 def initialize property_info @info = property_info end |
Instance Method Details
#build ⇒ Object
9 10 11 12 |
# File 'lib/gir_ffi/builders/property_builder.rb', line 9 def build setup_getter setup_setter end |
#container_defines_getter_method? ⇒ Boolean
18 19 20 |
# File 'lib/gir_ffi/builders/property_builder.rb', line 18 def container_defines_getter_method? container_info.find_instance_method @info.name end |
#getter_def ⇒ Object
26 27 28 29 30 31 32 33 |
# File 'lib/gir_ffi/builders/property_builder.rb', line 26 def getter_def case type_info.tag when :glist, :ghash converting_getter_def else simple_getter_def end end |
#setter_def ⇒ Object
35 36 37 38 39 40 41 42 |
# File 'lib/gir_ffi/builders/property_builder.rb', line 35 def setter_def case type_info.flattened_tag when :glist, :ghash, :strv converting_setter_def else simple_setter_def end end |
#setup_getter ⇒ Object
14 15 16 |
# File 'lib/gir_ffi/builders/property_builder.rb', line 14 def setup_getter container_class.class_eval getter_def unless container_defines_getter_method? end |
#setup_setter ⇒ Object
22 23 24 |
# File 'lib/gir_ffi/builders/property_builder.rb', line 22 def setup_setter container_class.class_eval setter_def end |