Class: Lagoon::Renderer::ClassDiagramRenderer
- Inherits:
-
BaseRenderer
- Object
- BaseRenderer
- Lagoon::Renderer::ClassDiagramRenderer
- Defined in:
- lib/lagoon/renderer/class_diagram_renderer.rb
Instance Attribute Summary
Attributes inherited from BaseRenderer
Instance Method Summary collapse
-
#initialize(direction: 'TB', show_types: true) ⇒ ClassDiagramRenderer
constructor
A new instance of ClassDiagramRenderer.
- #render(parsed_data) ⇒ Object
Constructor Details
#initialize(direction: 'TB', show_types: true) ⇒ ClassDiagramRenderer
Returns a new instance of ClassDiagramRenderer.
6 7 8 9 |
# File 'lib/lagoon/renderer/class_diagram_renderer.rb', line 6 def initialize(direction: 'TB', show_types: true) super(direction: direction) @show_types = show_types end |
Instance Method Details
#render(parsed_data) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/lagoon/renderer/class_diagram_renderer.rb', line 11 def render(parsed_data) output = ['classDiagram'] output << " direction #{@direction}" output << '' classes = parsed_data.fetch(:classes, []).select { |klass| klass[:name] } classes.sort_by { |klass| klass[:name].to_s }.each do |klass| output << render_class(klass) output << '' end relationships = parsed_data.fetch(:relationships, []).select { |rel| rel[:source] && rel[:target] } relationships.sort_by { |rel| relationship_sort_key(rel) }.each do |rel| output << render_relationship(rel) end output.join("\n").rstrip end |