Base class for type builders.
# File lib/gir_ffi/builders/base_type_builder.rb, line 9 def initialize info @info = info @namespace = @info.namespace @classname = @info.safe_name end
# File lib/gir_ffi/builders/base_type_builder.rb, line 15 def build_class unless defined? @klass instantiate_class end @klass end
# File lib/gir_ffi/builders/base_type_builder.rb, line 39 def already_set_up const_defined_for @klass, :GIR_FFI_BUILDER end
# File lib/gir_ffi/builders/base_type_builder.rb, line 43 def gir @gir ||= GObjectIntrospection::IRepository.default end
# File lib/gir_ffi/builders/base_type_builder.rb, line 30 def lib @lib ||= namespace_module.const_get :Lib end
# File lib/gir_ffi/builders/base_type_builder.rb, line 26 def namespace_module @namespace_module ||= Builder.build_module @namespace end
# File lib/gir_ffi/builders/base_type_builder.rb, line 34 def setup_constants @klass.const_set :GIR_INFO, info @klass.const_set :GIR_FFI_BUILDER, self end