Module: RGen::MetamodelBuilder::BuilderRuntime
- Includes:
- NameHelper
- Included in:
- MMBase
- Defined in:
- lib/rgen/metamodel_builder/builder_runtime.rb
Overview
This module is mixed into MetamodelBuilder::MMBase. The methods provided by this module are used by the methods generated by the class methods of MetamodelBuilder::BuilderExtensions
Instance Method Summary
collapse
-
#_assignmentTypeError(target, value, expected) ⇒ Object
-
#_register(element, target, target_role, kind) ⇒ Object
-
#_unregister(element, target, target_role, kind) ⇒ Object
-
#addGeneric(role, value) ⇒ Object
-
#getGeneric(role) ⇒ Object
-
#is_a?(c) ⇒ Boolean
-
#removeGeneric(role, value) ⇒ Object
-
#setGeneric(role, value) ⇒ Object
Methods included from NameHelper
#camelize, #className, #firstToLower, #firstToUpper, #normalize, #saneClassName, #saneMethodName
Instance Method Details
#_assignmentTypeError(target, value, expected) ⇒ Object
55
56
57
58
59
60
61
62
63
64
65
66
67
|
# File 'lib/rgen/metamodel_builder/builder_runtime.rb', line 55
def _assignmentTypeError(target, value, expected)
text = ""
if target
targetId = target.class.name
targetId += "(" + target.name + ")" if target.respond_to?(:name) and target.name
text += "In #{targetId} : "
end
valueId = value.class.name
valueId += "(" + value.name + ")" if value.respond_to?(:name) and value.name
valueId += "(:" + value.to_s + ")" if value.is_a?(Symbol)
text += "Can not use a #{valueId} where a #{expected} is expected"
StandardError.new(text)
end
|
#_register(element, target, target_role, kind) ⇒ Object
46
47
48
49
50
51
52
53
|
# File 'lib/rgen/metamodel_builder/builder_runtime.rb', line 46
def _register(element, target, target_role, kind)
return unless element and target and target_role
if kind == 'one'
target.send("#{target_role}=",element)
elsif kind == 'many'
target.send("add#{firstToUpper(target_role)}",element)
end
end
|
#_unregister(element, target, target_role, kind) ⇒ Object
37
38
39
40
41
42
43
44
|
# File 'lib/rgen/metamodel_builder/builder_runtime.rb', line 37
def _unregister(element, target, target_role, kind)
return unless element and target and target_role
if kind == 'one'
target.send("#{target_role}=",nil)
elsif kind == 'many'
target.send("remove#{firstToUpper(target_role)}",element)
end
end
|
#addGeneric(role, value) ⇒ Object
21
22
23
|
# File 'lib/rgen/metamodel_builder/builder_runtime.rb', line 21
def addGeneric(role, value)
send("add#{firstToUpper(role)}",value)
end
|
#getGeneric(role) ⇒ Object
33
34
35
|
# File 'lib/rgen/metamodel_builder/builder_runtime.rb', line 33
def getGeneric(role)
send("#{role}")
end
|
#is_a?(c) ⇒ Boolean
16
17
18
19
|
# File 'lib/rgen/metamodel_builder/builder_runtime.rb', line 16
def is_a?(c)
return super unless c.respond_to?(:_class_module)
kind_of?(c._class_module)
end
|
#removeGeneric(role, value) ⇒ Object
25
26
27
|
# File 'lib/rgen/metamodel_builder/builder_runtime.rb', line 25
def removeGeneric(role, value)
send("remove#{firstToUpper(role)}",value)
end
|
#setGeneric(role, value) ⇒ Object
29
30
31
|
# File 'lib/rgen/metamodel_builder/builder_runtime.rb', line 29
def setGeneric(role, value)
send("#{role}=",value)
end
|