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

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

Returns:

  • (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