Class: Mxrb::Compiler::ProjectMaterializer
- Inherits:
-
Object
- Object
- Mxrb::Compiler::ProjectMaterializer
- Defined in:
- lib/mxrb/compiler/project_materializer.rb
Overview
Rebuilds the Runtime project/module index after native document materialization.
Constant Summary collapse
- EDITORIAL_TYPES =
rubocop:disable Metrics/ClassLength
%w[ Projects$ModuleSettings Security$ModuleSecurity Folders$Folder Projects$Folder ].freeze
Instance Method Summary collapse
-
#initialize(mpr_path, deployment:) ⇒ ProjectMaterializer
constructor
A new instance of ProjectMaterializer.
- #materialize ⇒ Object
Constructor Details
#initialize(mpr_path, deployment:) ⇒ ProjectMaterializer
Returns a new instance of ProjectMaterializer.
15 16 17 18 |
# File 'lib/mxrb/compiler/project_materializer.rb', line 15 def initialize(mpr_path, deployment:) @mpr_path = File.(mpr_path) @deployment = File.(deployment) end |
Instance Method Details
#materialize ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/mxrb/compiler/project_materializer.rb', line 20 def materialize source = SourceModel.read(@mpr_path) path = File.join(@deployment, 'model', 'model.mdp') package = ModelPackage.read(path) project = compile_project(source, package, project_unit(source)) package = write_modules(source, package) package = package.upsert(project) package = ensure_deployment_header(package, source) package = ProjectModelOrderer.new(package, project).order package.write(path) result(path, project) end |