class KnifeDraw::DrawRoles

Public Instance Methods

run() click to toggle source
# File lib/knife_draw/draw_roles.rb, line 11
def run
  filename = name_args.size > 0 ? name_args.first : "output.png"
  graph = ChefGraph.new
  source = ChefServerSource.new
  source.roles.each do |role_name, role|
    verbose_out "name: #{role_name}"
    role_box = graph.draw_role(role_name)
    source.runlist_for_role(role_name).each do |run_list|
      runlist_box = graph.draw_runlist run_list.to_s
      graph.connect(role_box, runlist_box)
      verbose_out "\t\trunlist: #{run_list}"
    end
  end
  graph.draw! filename
end