Class: Mxrb::Compiler::ProjectModelOrderer
- Inherits:
-
Object
- Object
- Mxrb::Compiler::ProjectModelOrderer
- Defined in:
- lib/mxrb/compiler/project_model_orderer.rb
Overview
Orders model documents so containers precede children during Runtime resolution.
Instance Method Summary collapse
-
#initialize(package, project) ⇒ ProjectModelOrderer
constructor
A new instance of ProjectModelOrderer.
- #order ⇒ Object
Constructor Details
#initialize(package, project) ⇒ ProjectModelOrderer
Returns a new instance of ProjectModelOrderer.
7 8 9 10 |
# File 'lib/mxrb/compiler/project_model_orderer.rb', line 7 def initialize(package, project) @package = package @project = project end |
Instance Method Details
#order ⇒ Object
12 13 14 15 16 17 18 19 |
# File 'lib/mxrb/compiler/project_model_orderer.rb', line 12 def order ordered = [@project, deployment_header] ordered.concat(resolve(@project.fetch('ProjectDocuments'))) @project.fetch('Modules').each { append_module(ordered, _1) } ordered.compact! ordered.concat(remaining(ordered)) ModelPackage.from_documents(ordered) end |