Class: LcpRuby::Metadata::ErdGenerator
- Inherits:
-
Object
- Object
- LcpRuby::Metadata::ErdGenerator
- Defined in:
- lib/lcp_ruby/metadata/erd_generator.rb
Overview
Generates Entity-Relationship Diagrams from loaded model definitions.
Supported output formats:
- :mermaid — Mermaid.js syntax (renders in GitHub markdown, Mermaid Live Editor)
- :dot — Graphviz DOT language (export to PNG/SVG via `dot -Tpng`)
- :plantuml — PlantUML syntax (renders via PlantUML server or CLI)
Usage:
generator = ErdGenerator.new(loader)
puts generator.generate(:mermaid)
File.write("erd.dot", generator.generate(:dot))
Constant Summary collapse
- SUPPORTED_FORMATS =
%i[mermaid dot plantuml].freeze
Instance Attribute Summary collapse
-
#loader ⇒ Object
readonly
Returns the value of attribute loader.
Instance Method Summary collapse
- #generate(format = :mermaid) ⇒ Object
-
#initialize(loader) ⇒ ErdGenerator
constructor
A new instance of ErdGenerator.
Constructor Details
#initialize(loader) ⇒ ErdGenerator
Returns a new instance of ErdGenerator.
19 20 21 |
# File 'lib/lcp_ruby/metadata/erd_generator.rb', line 19 def initialize(loader) @loader = loader end |
Instance Attribute Details
#loader ⇒ Object (readonly)
Returns the value of attribute loader.
17 18 19 |
# File 'lib/lcp_ruby/metadata/erd_generator.rb', line 17 def loader @loader end |
Instance Method Details
#generate(format = :mermaid) ⇒ Object
23 24 25 26 27 28 29 30 31 |
# File 'lib/lcp_ruby/metadata/erd_generator.rb', line 23 def generate(format = :mermaid) format = format.to_sym unless SUPPORTED_FORMATS.include?(format) raise ArgumentError, "Unsupported format '#{format}'. Supported: #{SUPPORTED_FORMATS.join(', ')}" end send(:"generate_#{format}") end |