Module: RGen::ECore::ECoreInstantiator

Included in:
MetamodelBuilder::MMBase, MetamodelBuilder::ModuleExtension
Defined in:
lib/rgen/ecore/ecore_instantiator.rb

Overview

Mixin to provide access to the ECore model describing a Ruby class or module built using MetamodelBuilder. The module should be used to extend a class or module, i.e. to make its methods class methods.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.clear_ecore_cacheObject



23
24
25
26
# File 'lib/rgen/ecore/ecore_instantiator.rb', line 23

def self.clear_ecore_cache
  require 'rgen/ecore/ecore_transformer'
  @@transformer = ECoreTransformer.new
end

Instance Method Details

#ecoreObject

This method will lazily build to ECore model element belonging to the calling class or module using ECoreTransformer.



15
16
17
18
19
20
21
# File 'lib/rgen/ecore/ecore_instantiator.rb', line 15

def ecore
  unless defined?(@@transformer)
    require 'rgen/ecore/ecore_transformer'
    @@transformer = ECoreTransformer.new
  end
  @@transformer.trans(self)
end