Class: DecisionAgent::Dmn::GraphMermaidGenerator
- Inherits:
-
Object
- Object
- DecisionAgent::Dmn::GraphMermaidGenerator
- Defined in:
- lib/decision_agent/dmn/visualizer.rb
Overview
Generates Mermaid diagram syntax for decision graphs
Instance Method Summary collapse
- #generate ⇒ Object
-
#initialize(decision_graph) ⇒ GraphMermaidGenerator
constructor
A new instance of GraphMermaidGenerator.
Constructor Details
#initialize(decision_graph) ⇒ GraphMermaidGenerator
Returns a new instance of GraphMermaidGenerator.
487 488 489 |
# File 'lib/decision_agent/dmn/visualizer.rb', line 487 def initialize(decision_graph) @graph = decision_graph end |
Instance Method Details
#generate ⇒ Object
491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 |
# File 'lib/decision_agent/dmn/visualizer.rb', line 491 def generate mermaid = ["graph TD"] @graph.decisions.each do |decision_id, decision| label = escape_mermaid(decision.name.to_s) mermaid << %( #{decision_id}["#{label}"]) decision.information_requirements.each do |req| label = req[:variable_name] == req[:decision_id] ? "" : "|#{escape_mermaid(req[:variable_name])}|" mermaid << %( #{req[:decision_id]} -->#{label} #{decision_id}) end end mermaid.join("\n") end |