Class: Mxrb::Compiler::ArtifactMaterializer

Inherits:
Object
  • Object
show all
Defined in:
lib/mxrb/compiler/artifact_materializer.rb

Overview

Materializes executable non-flow artifacts and their Runtime metadata.

Instance Method Summary collapse

Constructor Details

#initialize(mpr_path, deployment:) ⇒ ArtifactMaterializer

Returns a new instance of ArtifactMaterializer.



11
12
13
14
# File 'lib/mxrb/compiler/artifact_materializer.rb', line 11

def initialize(mpr_path, deployment:)
  @mpr_path = File.expand_path(mpr_path)
  @deployment = File.expand_path(deployment)
end

Instance Method Details

#materializeObject



16
17
18
19
20
21
22
23
24
25
26
# File 'lib/mxrb/compiler/artifact_materializer.rb', line 16

def materialize
  source = SourceModel.read(@mpr_path)
  model_path = File.join(@deployment, 'model', 'model.mdp')
   = File.join(@deployment, 'model', 'metadata.json')
  documents = compile_documents(source)
  write_model(model_path, documents)
  events = (, source)
  ArtifactMaterialization.new(
    model_path:, metadata_path:, documents: documents.length, scheduled_events: events.length
  )
end