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.