Sha256: 7e40f208bb6d08a2cd0b8839c6b60831e2ac88c69258574f129c001e33740869
Contents?: true
Size: 871 Bytes
Versions: 1
Compression:
Stored size: 871 Bytes
Contents
module Marmerdo class DomainDiagramGenerator def initialize(output_path:, nodes:, enable_link_extension:) @output_path = output_path @nodes = nodes @enable_link_extension = enable_link_extension end # @return [String] mermaid class diagram def generate classes = @nodes.map(&:to_mermaid_line) links = @nodes.map do |node| node.generate_mermaid_link(@output_path, enable_link_extension: @enable_link_extension) end relationships = @nodes.flat_map do |node| node.relationships.map do |relationship| relationship.to_mermaid_str(node.name) end end [ "classDiagram", classes, links, relationships ].flatten.join("\n") end private def nodes_by_name @nodes_by_name ||= @nodes.group_by(&:name) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
marmerdo-0.2.3 | lib/marmerdo/domain_diagram_generator.rb |