Class: GirFFI::Builders::ModuleBuilder
- Inherits:
-
Object
- Object
- GirFFI::Builders::ModuleBuilder
show all
- Includes:
- GirFFI::BuilderHelper
- Defined in:
- lib/gir_ffi/builders/module_builder.rb
Overview
Builds a module based on information found in the introspection repository.
Instance Method Summary
collapse
#get_or_define_class, #get_or_define_module, #optionally_define_constant
Constructor Details
#initialize(module_name, namespace: module_name, version: nil) ⇒ ModuleBuilder
Returns a new instance of ModuleBuilder.
14
15
16
17
18
|
# File 'lib/gir_ffi/builders/module_builder.rb', line 14
def initialize(module_name, namespace: module_name, version: nil)
@namespace = namespace
@version = version
@safe_namespace = module_name
end
|
Instance Method Details
#build_namespaced_class(classname) ⇒ Object
38
39
40
41
|
# File 'lib/gir_ffi/builders/module_builder.rb', line 38
def build_namespaced_class(classname)
info = find_namespaced_class_info(classname)
Builder.build_class info
end
|
#find_namespaced_class_info(classname) ⇒ Object
43
44
45
46
47
48
49
50
51
52
|
# File 'lib/gir_ffi/builders/module_builder.rb', line 43
def find_namespaced_class_info(classname)
name = classname.to_s
info = gir.find_by_name(@namespace, name) ||
gir.find_by_name(@namespace, name.sub(/^./, &:downcase))
unless info
raise NameError,
"Class #{classname} not found in namespace #{@namespace}"
end
info
end
|
#generate ⇒ Object
20
21
22
|
# File 'lib/gir_ffi/builders/module_builder.rb', line 20
def generate
modul
end
|
#method_available?(method) ⇒ Boolean
34
35
36
|
# File 'lib/gir_ffi/builders/module_builder.rb', line 34
def method_available?(method)
function_introspection_data(method.to_s) and true
end
|
#setup_method(method) ⇒ Object