class ChefCLI::Command::DescribeCookbook

def apply_params!(params)

def apply_params!(params)
  remaining_args = parse_options(params)
  if remaining_args.size != 1
    ui.err(opt_parser)
    false
  else
    @cookbook_path = File.expand_path(remaining_args.first)
    true
  end
end

def check_cookbook_path

def check_cookbook_path
  unless File.exist?(cookbook_path)
    ui.err("Given cookbook path '#{cookbook_path}' does not exist or is not readable")
    return false
  end
  mdrb_path = File.join(cookbook_path, "metadata.rb")
  mdjson_path = File.join(cookbook_path, "metadata.json")
  unless File.exist?(mdrb_path) || File.exist?(mdjson_path)
    ui.err("Given cookbook path '#{cookbook_path}' does not appear to be a cookbook, it does not contain a metadata.rb or metadata.json")
    return false
  end
  true
end

def initialize(*args)

def initialize(*args)
  super
  @cookbook_path = nil
  @ui = UI.new
end

def run(params = [])

def run(params = [])
  return 1 unless apply_params!(params)
  return 1 unless check_cookbook_path
  IdDumper.new(ui, cookbook_path).run
end