class Gem::RDoc

def document generator, options, destination

def document generator, options, destination
  generator_name = generator
  options = options.dup
  options.exclude ||= [] # TODO maybe move to RDoc::Options#finish
  options.setup_generator generator
  options.op_dir = destination
  options.finish
  generator = options.generator.new @rdoc.store, options
  @rdoc.options = options
  @rdoc.generator = generator
  say "Installing #{generator_name} documentation for #{@spec.full_name}"
  FileUtils.mkdir_p options.op_dir
  Dir.chdir options.op_dir do
    begin
      @rdoc.class.current = @rdoc
      @rdoc.generator.generate @file_info
    ensure
      @rdoc.class.current = nil
    end
  end
end