Class: Lutaml::UmlRepository::Exporters::Markdown::PackagePageBuilder
- Inherits:
-
Object
- Object
- Lutaml::UmlRepository::Exporters::Markdown::PackagePageBuilder
- Includes:
- Formatting
- Defined in:
- lib/lutaml/uml_repository/exporters/markdown/package_page_builder.rb
Instance Method Summary collapse
- #build(package, path) ⇒ Object
-
#initialize(repository, link_resolver) ⇒ PackagePageBuilder
constructor
A new instance of PackagePageBuilder.
Methods included from Formatting
#format_cardinality, #format_stereotypes
Methods included from Lutaml::Uml::ModelHelpers
#class_type_for, #format_cardinality, #normalize_stereotypes, #package_path_for, #parse_cardinality, #qualified_name_for
Constructor Details
#initialize(repository, link_resolver) ⇒ PackagePageBuilder
Returns a new instance of PackagePageBuilder.
10 11 12 13 |
# File 'lib/lutaml/uml_repository/exporters/markdown/package_page_builder.rb', line 10 def initialize(repository, link_resolver) @repository = repository @link_resolver = link_resolver end |
Instance Method Details
#build(package, path) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
# File 'lib/lutaml/uml_repository/exporters/markdown/package_page_builder.rb', line 15 def build(package, path) classes = @repository.classes_in_package(path, recursive: false) sub_packages = package.packages || [] <<~MARKDOWN # Package: #{package.name} **Qualified Path**: `#{path}` ## Description #{package.definition || 'No description available.'} ## Statistics - **Direct Classes**: #{classes.size} - **Sub-packages**: #{sub_packages.size} #{build_sub_packages_section(sub_packages)} #{build_classes_section(classes)} #{build_diagrams_section(path)} --- [Back to Index](../index.md) MARKDOWN end |