class KnifeCookbookUtils::CookbookKeep

Public Instance Methods

run() click to toggle source
# File lib/chef/knife/cookbook-keep.rb, line 38
def run
  puts "Keeping latest #{num_to_keep} versions of cookbooks"

  cookbooks_to_keep.each do |name, version|
    puts "#{name} #{version}"
  end

  if dry_run? and cookbooks_to_delete.any?
    puts ""
    puts "== DRY RUN =="
    puts "Will delete the following:", ""
  end

  cookbooks_to_delete.each do |cookbook, version|
    if dry_run?
      puts "#{cookbook} #{version}"
    else
      puts "Deleting #{cookbook} #{version}"
      rest.delete("cookbooks/#{cookbook}/#{version}")
    end
  end

  if dry_run? and cookbooks_to_delete.any?
    puts ""
    puts "To delete these cookbooks, use:"
    puts ""
    puts "knife cookbook keep #{num_to_keep} --purge-old"
    puts ""
  end
end