Class: Lutaml::UmlRepository::StaticSite::Output::MultiFileStrategy

Inherits:
Strategy
  • Object
show all
Defined in:
lib/lutaml/uml_repository/static_site/output/multi_file_strategy.rb

Overview

Generates a multi-file static site: separate JSON data files and an index.html that loads them.

Instance Method Summary collapse

Methods inherited from Strategy

#initialize

Constructor Details

This class inherits a constructor from Lutaml::UmlRepository::StaticSite::Output::Strategy

Instance Method Details

#render(spa_document, search_index) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/lutaml/uml_repository/static_site/output/multi_file_strategy.rb', line 13

def render(spa_document, search_index)
  output_dir = output_path
  FileUtils.mkdir_p(output_dir)
  FileUtils.mkdir_p(File.join(output_dir, "data"))

  write_json(File.join(output_dir, "data", "model.json"),
             spa_document)
  write_json(File.join(output_dir, "data", "search.json"),
             search_index)

  html = build_index_html
  File.write(File.join(output_dir, "index.html"), html)

  output_dir
end