Sha256: 883a4d4dd412b3f8a8e418c15d0167e0a12974c1c3482ba6c9a584daf85699f8
Contents?: true
Size: 827 Bytes
Versions: 1
Compression:
Stored size: 827 Bytes
Contents
# frozen_string_literal: true require "graphviz" module CobraCommander # Generates graphs of components class Graph def initialize(node, format) @format = format @node = node end def generate! return unless valid_format? g = GraphViz.new(:G, type: :digraph, concentrate: true) ([@node] + @node.deep_dependencies).each do |component| g.add_nodes component.name g.add_edges component.name, component.dependencies.map(&:name) end output(g) end def output(g) graph = "graph.#{@format}" g.output(@format => graph) puts "Graph generated at #{`pwd`.chomp}/#{graph}" end def valid_format? return true if @format == "png" || @format == "dot" puts "FORMAT must be 'png' or 'dot'" false end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
cobra_commander-0.7.0 | lib/cobra_commander/graph.rb |