Class: Lutaml::UmlRepository::StaticSite::Output::Strategy Abstract

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

Overview

This class is abstract.

Subclass and implement #render

Base class for output strategies (Strategy Pattern).

Subclasses implement #render to produce HTML output from a SpaDocument and SpaSearchIndex.

Direct Known Subclasses

MultiFileStrategy, VueInlinedStrategy

Instance Method Summary collapse

Constructor Details

#initialize(output_path, config:) ⇒ Strategy

Returns a new instance of Strategy.



14
15
16
17
# File 'lib/lutaml/uml_repository/static_site/output/strategy.rb', line 14

def initialize(output_path, config:)
  @output_path = output_path
  @config = config
end

Instance Method Details

#render(_spa_document, _search_index) ⇒ String

Render output from the given document and search index.

Parameters:

Returns:

  • (String)

    Path to generated output

Raises:

  • (NotImplementedError)


24
25
26
27
# File 'lib/lutaml/uml_repository/static_site/output/strategy.rb', line 24

def render(_spa_document, _search_index)
  raise NotImplementedError,
        "#{self.class} must implement #render"
end