module GirFFI::Core

Core GirFFI interface.

Public Instance Methods

define_type(klass) click to toggle source
# File lib/gir_ffi/core.rb, line 31
def define_type(klass)
  unless klass < GirFFI::ObjectBase
    raise ArgumentError, "#{klass} is not a GObject class"
  end

  klass.prepare_user_defined_class
  info = klass.gir_info

  unless info.is_a? UserDefinedObjectInfo
    raise ArgumentError, "#{klass} is not a user-defined class"
  end

  Builders::UserDefinedBuilder.new(info).build_class

  klass.gtype
end
setup(namespace, version = nil) click to toggle source
# File lib/gir_ffi/core.rb, line 26
def setup(namespace, version = nil)
  namespace = namespace.to_s
  Builder.build_module namespace, version
end