Class: Mxrb::Compiler::PageDocumentCompiler

Inherits:
Object
  • Object
show all
Includes:
ModelValues, RuntimeDataTypes
Defined in:
lib/mxrb/compiler/page_document_compiler.rb

Overview

Compiles page routing, parameters, titles, and authorization for the Runtime model.

Constant Summary

Constants included from RuntimeDataTypes

RuntimeDataTypes::SCALARS

Instance Method Summary collapse

Constructor Details

#initialize(source) ⇒ PageDocumentCompiler

Returns a new instance of PageDocumentCompiler.



10
11
12
# File 'lib/mxrb/compiler/page_document_compiler.rb', line 10

def initialize(source)
  @role_map = project_role_map(source)
end

Instance Method Details

#compile(unit) ⇒ Object

Raises:



14
15
16
17
18
19
# File 'lib/mxrb/compiler/page_document_compiler.rb', line 14

def compile(unit)
  source = unit.document
  raise CompilationError, "unsupported page root #{source['$Type']}" unless source['$Type'] == 'Forms$Page'

  page_fields(source).merge(identity_fields(source, unit.module_name)).merge(popup_fields(source))
end