Class: RGen::ECore::ECoreToRuby::FeatureWrapper
- Inherits:
-
Object
- Object
- RGen::ECore::ECoreToRuby::FeatureWrapper
- Defined in:
- lib/rgen/ecore/ecore_to_ruby.rb
Instance Method Summary collapse
- #impl_type ⇒ Object
-
#initialize(efeature, classifiers) ⇒ FeatureWrapper
constructor
A new instance of FeatureWrapper.
- #many? ⇒ Boolean
- #opposite ⇒ Object
- #reference? ⇒ Boolean
- #value(prop) ⇒ Object
Constructor Details
#initialize(efeature, classifiers) ⇒ FeatureWrapper
Returns a new instance of FeatureWrapper.
97 98 99 100 |
# File 'lib/rgen/ecore/ecore_to_ruby.rb', line 97 def initialize(efeature, classifiers) @efeature = efeature @classifiers = classifiers end |
Instance Method Details
#impl_type ⇒ Object
114 115 116 117 118 119 120 121 122 123 124 125 126 |
# File 'lib/rgen/ecore/ecore_to_ruby.rb', line 114 def impl_type etype = @efeature.eType if etype.is_a?(RGen::ECore::EClass) || etype.is_a?(RGen::ECore::EEnum) @classifiers[etype] else ic = etype.instanceClass if ic ic else raise "unknown type: #{etype.name}" end end end |
#many? ⇒ Boolean
105 106 107 |
# File 'lib/rgen/ecore/ecore_to_ruby.rb', line 105 def many? @efeature.many end |
#opposite ⇒ Object
111 112 113 |
# File 'lib/rgen/ecore/ecore_to_ruby.rb', line 111 def opposite @efeature.eOpposite end |
#reference? ⇒ Boolean
108 109 110 |
# File 'lib/rgen/ecore/ecore_to_ruby.rb', line 108 def reference? @efeature.is_a?(RGen::ECore::EReference) end |
#value(prop) ⇒ Object
101 102 103 104 |
# File 'lib/rgen/ecore/ecore_to_ruby.rb', line 101 def value(prop) return false if prop == :containment && @efeature.is_a?(RGen::ECore::EAttribute) @efeature.send(prop) end |