public Method

RDoc.document(argv)

Format up one or more files according to the given arguments. For simplicity, argv is an array of strings, equivalent to the strings that would be passed on the command line. (This isn’t a coincidence, as we do pass in ARGV when running interactively). For a list of options, see rdoc/rdoc.rb. By default, output will be stored in a directory called doc below the current directory, so make sure you’re somewhere writable before invoking.

Throws: RDocError on error

Source Code

# File rdoc/rdoc.rb, line 249
def document(argv)

  TopLevel::reset

  @stats = Stats.new

  options = Options.instance
  options.parse(argv, GENERATORS)

  @last_created = nil
  unless options.all_one_file
    @last_created = setup_output_dir(options.op_dir, options.force_update)
  end
  start_time = Time.now

  file_info = parse_files(options)

  if file_info.empty?
    $stderr.puts "\nNo newer files." unless options.quiet
  else
    gen = options.generator

    $stderr.puts "\nGenerating #{gen.key.upcase}..." unless options.quiet

    require gen.file_name

    gen_class = Generators.const_get(gen.class_name)
    gen = gen_class.for(options)

    pwd = Dir.pwd

    Dir.chdir(options.op_dir)  unless options.all_one_file

    begin
      Diagram.new(file_info, options).draw if options.diagram
      gen.generate(file_info)
      update_output_dir(".", start_time)
    ensure
      Dir.chdir(pwd)
    end
  end

  unless options.quiet
    puts
    @stats.print
  end
end
Comments

Have your say
Please use Textile formatting (click here for a cheat sheet). Use <code/> and <pre/> for code samples.
Click here to login with OpenID to to post comments.