Class: Lutaml::UmlRepository::Presenters::PackagePresenter

Inherits:
ElementPresenter show all
Defined in:
lib/lutaml/uml_repository/presenters/package_presenter.rb

Overview

Presenter for UML Package elements.

Formats package information for different output types: text, table rows, and structured data.

Instance Attribute Summary

Attributes inherited from ElementPresenter

#context, #element, #repository

Instance Method Summary collapse

Methods inherited from ElementPresenter

#initialize

Constructor Details

This class inherits a constructor from Lutaml::UmlRepository::Presenters::ElementPresenter

Instance Method Details

#to_hashHash

Generate structured hash.

Returns:

  • (Hash)

    Structured representation



32
33
34
35
36
37
38
39
40
41
# File 'lib/lutaml/uml_repository/presenters/package_presenter.rb', line 32

def to_hash
  data = {
    type: "Package",
    name: element.name,
  }

  data[:xmi_id] = element.xmi_id if element.respond_to?(:xmi_id)

  data
end

#to_textString

Generate detailed text view.

Returns:

  • (String)

    Multi-line formatted text



17
18
19
20
21
22
23
24
25
26
27
# File 'lib/lutaml/uml_repository/presenters/package_presenter.rb', line 17

def to_text # rubocop:disable Metrics/AbcSize
  lines = []
  lines << "Package: #{element.name}"
  lines << ("=" * 50)
  lines << ""
  lines << "Name:        #{element.name}"
  if element.respond_to?(:xmi_id)
    lines << "XMI ID:      #{element.xmi_id}"
  end
  lines.join("\n")
end