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(namespace, version = nil) ⇒ ModuleBuilder
Returns a new instance of ModuleBuilder.
14
15
16
17
18
19
|
# File 'lib/gir_ffi/builders/module_builder.rb', line 14
def initialize(namespace, version = nil)
@namespace = namespace
@version = version
@safe_namespace = @namespace.gsub(/^./, &:upcase)
end
|
Instance Method Details
#build_namespaced_class(classname) ⇒ Object
35
36
37
38
|
# File 'lib/gir_ffi/builders/module_builder.rb', line 35
def build_namespaced_class(classname)
info = find_namespaced_class_info(classname)
Builder.build_class info
end
|
#find_namespaced_class_info(classname) ⇒ Object
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/gir_ffi/builders/module_builder.rb', line 40
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
21
22
23
|
# File 'lib/gir_ffi/builders/module_builder.rb', line 21
def generate
modul
end
|
#setup_method(method) ⇒ Object