Class: Mxrb::Uml::ActivityDiagram
- Inherits:
-
Object
- Object
- Mxrb::Uml::ActivityDiagram
- Defined in:
- lib/mxrb/uml/activity_diagram.rb
Overview
Renders the native object/sequence-flow graph of one Mendix microflow. rubocop:disable Metrics
Instance Method Summary collapse
-
#initialize(microflow) ⇒ ActivityDiagram
constructor
A new instance of ActivityDiagram.
- #to_mermaid ⇒ Object
- #to_plantuml ⇒ Object
Constructor Details
#initialize(microflow) ⇒ ActivityDiagram
Returns a new instance of ActivityDiagram.
10 11 12 13 14 15 |
# File 'lib/mxrb/uml/activity_diagram.rb', line 10 def initialize(microflow) @microflow = microflow @objects = Array(microflow.objects) @flows = Array(microflow.flows) @objects_by_id = @objects.to_h { [raw_object_id(_1), _1] } end |
Instance Method Details
#to_mermaid ⇒ Object
17 18 19 20 21 22 23 24 25 |
# File 'lib/mxrb/uml/activity_diagram.rb', line 17 def to_mermaid lines = ['flowchart TD'] @objects.each { lines << " #{mermaid_node(_1)}" } @flows.each do |flow| line = flow_line(flow, :mermaid) lines << " #{line}" if line end "#{lines.join("\n")}\n" end |
#to_plantuml ⇒ Object
27 28 29 30 31 32 33 34 35 36 |
# File 'lib/mxrb/uml/activity_diagram.rb', line 27 def to_plantuml lines = ['@startuml', "title #{Support.plantuml_text(@microflow.name)}"] @objects.each { lines << plantuml_node(_1) } @flows.each do |flow| line = flow_line(flow, :plantuml) lines << line if line end lines << '@enduml' "#{lines.join("\n")}\n" end |