Class | RDoc::RDoc
In: | rdoc/rdoc.rb
Parent: | Object

Encapsulate the production of rdoc documentation. Basically you can use this as you would invoke rdoc from the command line:

       rdoc = RDoc::RDoc.new
       rdoc.document(args)

where args is an array of strings, each corresponding to an argument you’d give rdoc on the command line. See rdoc/rdoc.rb for details.

### Methods

document

### Constants

Generator | = | Struct.new(:file_name, :class_name, :key) |  | This is the list of output generators that we support
GENERATORS | = | {}

### Public Instance methods

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]

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

          TopLevel::reset

          @stats = Stats.new

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

          unless options.all_one_file
            setup_output_dir(options.op_dir)
          end

          file_info = parse_files(options)

          gen = options.generator

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

          require gen.file_name

          gen_class = Generators.const_get(gen.class_name)

          unless file_info.empty?
            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)
            ensure
              Dir.chdir(pwd)
            end
          end

          unless options.quiet
            puts
            @stats.print
          end
        end

[Validate]