123456789_123456789_123456789_123456789_123456789_

Module: RDoc::Generator

Relationships & Source Files
Namespace Children
Modules:
Classes:
Defined in: lib/rdoc/generator.rb

Overview

RDoc uses generators to turn parsed source code in the form of an CodeObject tree into some form of output. RDoc comes with the HTML generator Darkfish and an ri data generator RI.

Registering a Generator

Generators are registered by calling RDoc.add_generator with the class of the generator:

class My::Awesome::Generator
  RDoc::RDoc.add_generator self
end

Adding Options to rdoc

Before option processing in rdoc, Options will call .setup_options on the generator class with an Options instance. The generator can use Options#option_parser to add command-line options to the rdoc tool. See RDoc::Options@Custom+Options for an example and see OptionParser for details on how to add options.

You can extend the Options instance with additional accessors for your generator.

Generator Instantiation

After parsing, RDoc will instantiate a generator by calling #initialize with an Store instance and an Options instance.

The Store instance holds documentation for parsed source code. In RDoc 3 and earlier the TopLevel class held this data. When upgrading a generator from RDoc 3 and earlier you should only need to replace TopLevel with the store instance.

RDoc will then call #generate on the generator instance. You can use the various methods on Store and in the CodeObject tree to create your desired output format.