Module: RGen::ECore::EClassifier::ClassModule

Includes:
NameHelper
Defined in:
lib/rgen/ecore/ecore.rb,
lib/mmgen/mm_ext/ecore_ext.rb

Instance Method Summary collapse

Methods included from NameHelper

#camelize, #className, #firstToLower, #firstToUpper, #normalize, #saneClassName, #saneMethodName

Instance Method Details

#ancestorPackagesObject



72
73
74
75
# File 'lib/mmgen/mm_ext/ecore_ext.rb', line 72

def ancestorPackages
  return [] unless ePackage
  [ePackage] + ePackage.ancestorPackages
end

#classifierNameObject



66
67
68
# File 'lib/mmgen/mm_ext/ecore_ext.rb', line 66

def classifierName
  firstToUpper(name)			
end

#instanceClass_derivedObject



69
70
71
72
73
74
75
# File 'lib/rgen/ecore/ecore.rb', line 69

def instanceClass_derived
  map = {"java.lang.String" => "String", "boolean" => "RGen::MetamodelBuilder::DataTypes::Boolean", "int" => "Integer"}
  icn = instanceClassName
  icn = "NilClass" if icn.nil?
  icn = map[icn] if map[icn]
  eval(icn)
end

#qualifiedName(rootPackage) ⇒ Object



69
70
71
# File 'lib/mmgen/mm_ext/ecore_ext.rb', line 69

def qualifiedName(rootPackage)
 (ePackage ? ePackage.qualifiedModuleName(rootPackage) + "::" : "") + classifierName
end

#qualifiedNameIfRequired(package) ⇒ Object



76
77
78
79
80
81
82
83
# File 'lib/mmgen/mm_ext/ecore_ext.rb', line 76

def qualifiedNameIfRequired(package)
  if ePackage != package
    commonSuper = (package.ancestorPackages & ancestorPackages).first
    qualifiedName(commonSuper)
  else
    classifierName
  end
end