class NodeDependencyTree::TreeNode

Public Class Methods

new(name, children=[]) click to toggle source
# File lib/chef/knife/node_dependency_tree.rb, line 15
def initialize(name, children=[])
  @name = name
  @children = children
  @color = :red
end

Public Instance Methods

pretty_print(indent_level) click to toggle source
# File lib/chef/knife/node_dependency_tree.rb, line 25
def pretty_print(indent_level)
  output = []
  indent_symbol = "    "
  indent = indent_symbol * indent_level

  output << indent + ::Chef::Knife::ui.color(@name, @color)

  @children.each do |child|
    output << child.pretty_print(indent_level + 1)
  end

  output.join("\n")
end
recipes_to_cookbooks(recipes) click to toggle source
# File lib/chef/knife/node_dependency_tree.rb, line 43
def recipes_to_cookbooks(recipes)
  recipes.map do |recipe|
    recipe.partition("::").first
  end.uniq.map do |cookbook_name|
    CookbookNode.new(cookbook_name)
  end
end
roles_to_cookbooks(roles) click to toggle source
# File lib/chef/knife/node_dependency_tree.rb, line 39
def roles_to_cookbooks(roles)
  roles.map { |role_name| RoleNode.new(role_name) }
end
to_s() click to toggle source
# File lib/chef/knife/node_dependency_tree.rb, line 21
def to_s
  pretty_print(0)
end