Module: Lutaml::Ea::Diagram

Defined in:
lib/lutaml/ea/diagram.rb,
lib/lutaml/ea/diagram/util.rb,
lib/lutaml/ea/diagram/extractor.rb,
lib/lutaml/ea/diagram/path_builder.rb,
lib/lutaml/ea/diagram/style_parser.rb,
lib/lutaml/ea/diagram/svg_renderer.rb,
lib/lutaml/ea/diagram/configuration.rb,
lib/lutaml/ea/diagram/layout_engine.rb,
lib/lutaml/ea/diagram/style_resolver.rb,
lib/lutaml/ea/diagram/element_renderers/base_renderer.rb,
lib/lutaml/ea/diagram/element_renderers/class_renderer.rb,
lib/lutaml/ea/diagram/element_renderers/package_renderer.rb,
lib/lutaml/ea/diagram/element_renderers/connector_renderer.rb

Overview

Diagram rendering module for converting EA diagrams to SVG

This module provides comprehensive diagram rendering capabilities for Enterprise Architect UML diagrams, converting them to clean, interactive SVG format for web display.

Key Features:

  • SVG rendering with proper layout and styling

  • Support for classes, packages, and connectors

  • EA-specific style parsing and conversion

  • Interactive elements with hover effects

  • Path calculation for complex connector routing

Usage:

diagram = Lutaml::Ea::Diagram.new(ea_diagram_data)
svg_content = diagram.render_svg

Defined Under Namespace

Modules: ElementRenderers, Util Classes: Configuration, DiagramRenderer, Extractor, LayoutEngine, PathBuilder, StyleParser, StyleResolver, SvgRenderer

Class Method Summary collapse

Class Method Details

.render(diagram_data, options = {}) ⇒ String

Convenience method for rendering diagrams

Parameters:

  • diagram_data (Hash)

    EA diagram data

  • options (Hash) (defaults to: {})

    Rendering options

Returns:

  • (String)

    SVG content



71
72
73
74
# File 'lib/lutaml/ea/diagram.rb', line 71

def self.render(diagram_data, options = {})
  renderer = DiagramRenderer.new(diagram_data)
  renderer.render_svg(options)
end