Class: Cloudbuildviz::Visualizer
- Inherits:
-
Object
- Object
- Cloudbuildviz::Visualizer
- Defined in:
- lib/cloudbuildviz/visualizer.rb
Instance Method Summary collapse
-
#initialize(parsed_cloudbuild_steps) ⇒ Visualizer
constructor
A new instance of Visualizer.
- #visualize_normal_build(filename) ⇒ Object
Constructor Details
#initialize(parsed_cloudbuild_steps) ⇒ Visualizer
2 3 4 |
# File 'lib/cloudbuildviz/visualizer.rb', line 2 def initialize(parsed_cloudbuild_steps) @parsed_cloudbuild_steps = parsed_cloudbuild_steps end |
Instance Method Details
#visualize_normal_build(filename) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/cloudbuildviz/visualizer.rb', line 6 def visualize_normal_build(filename) g = GraphViz.new( :G, type: :digraph ) node_hash = Hash.new(nil) origin_node = g.add_nodes('Start') # Create all nodes @parsed_cloudbuild_steps.each do |s| node_hash[s.id] = g.add_nodes(s.id) end # Draw the edges @parsed_cloudbuild_steps.each do |s| if s.origin_step? g.add_edges(origin_node, node_hash[s.id]) else s.prev_ids.each do |prev_id| g.add_edges(node_hash[prev_id], node_hash[s.id]) end end end # Generate output image g.output( png: filename ) end |