class NodeDependencyTree::CookbookNode

Public Class Methods

new(name) click to toggle source
Calls superclass method NodeDependencyTree::TreeNode::new
# File lib/chef/knife/node_dependency_tree.rb, line 79
def initialize(name)
  @@seen_cookbooks.add(name)
  # XXX: Clean this up.
  cookbook_version = @@cookbook_versions[name]
  cookbooks = []
  if cookbook_version
    cookbook_version = cookbook_version.split.last
    cookbook = rest.get_rest("cookbooks/#{name}/#{cookbook_version}")
    dependencies = cookbook.manifest["metadata"]["dependencies"]
    cookbooks = dependencies.keys.uniq.reject do |cookbook_name|
      @@seen_cookbooks.include? cookbook_name
    end.map do |cookbook_name|
      CookbookNode.new(cookbook_name)
    end
  end
  super(name, cookbooks)

  @color = :yellow
end