document(argv)
public
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: RDoc::Error on error
Show source
def document(argv)
TopLevel::reset
@options = Options.new GENERATORS
@options.parse argv
@last_created = nil
unless @options.all_one_file then
@last_created = setup_output_dir @options.op_dir, @options.force_update
end
start_time = Time.now
file_info = parse_files @options
@options.title = "RDoc Documentation"
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 = ::RDoc::Generator.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