# File lib/gauntlet_rdoc.rb, line 22
  def run name
    return if self.data.key? name

    dir = File.expand_path "~/.gauntlet/data/#{@type}/#{name}"
    FileUtils.rm_rf dir if File.exist? dir

    yaml = File.read 'gemspec'
    begin
      spec = Gem::Specification.from_yaml yaml
    rescue Psych::SyntaxError
      puts "bad spec #{name}"
      self.data[name] = false
      return
    end

    args = @args.dup
    args << '--op' << dir
    args.push(*spec.rdoc_options)
    args << spec.require_paths
    args << spec.extra_rdoc_files
    args = args.flatten.map { |a| a.to_s }
    args.delete '--quiet'

    puts "#{name} - rdoc #{args.join ' '}"

    self.dirty = true
    r = RDoc::RDoc.new

    begin
      r.document args
      self.data[name] = true
      puts 'passed'
      FileUtils.rm_rf dir
    rescue Interrupt, StandardError, RDoc::Error, SystemStackError => e
      puts "failed - (#{e.class}) #{e.message}"
      self.data[name] = false
    end
  rescue Gem::Exception
    puts "bad gem #{name}"
  ensure
    puts
  end