class Bundler::Graph::GraphVizClient

def run

def run
  @groups.each do |group|
    g.add_nodes(
      group, {
        style: "filled",
        fillcolor: "#B9B9D5",
        shape: "box3d",
        fontsize: 16,
      }.merge(@node_options[group])
    )
  end
  @relations.each do |parent, children|
    children.each do |child|
      if @groups.include?(parent)
        g.add_nodes(child, { style: "filled", fillcolor: "#B9B9D5" }.merge(@node_options[child]))
        g.add_edges(parent, child, { constraint: false }.merge(@edge_options["#{parent}_#{child}"]))
      else
        g.add_nodes(child, @node_options[child])
        g.add_edges(parent, child, @edge_options["#{parent}_#{child}"])
      end
    end
  end
  if @output_format.to_s == "debug"
    $stdout.puts g.output none: String
    Bundler.ui.info "debugging bundle viz..."
  else
    begin
      g.output @output_format.to_sym => "#{@output_file}.#{@output_format}"
      Bundler.ui.info "#{@output_file}.#{@output_format}"
    rescue ArgumentError => e
      warn "Unsupported output format. See Ruby-Graphviz/lib/graphviz/constants.rb"
      raise e
    end
  end
end