RDoc uses generators to turn parsed source code in the form of an
RDoc::CodeObject tree into some form of output.
RDoc comes with the HTML generator RDoc::Generator::Darkfish and an ri data generator RDoc::Generator::RI.
Generators are registered by calling
RDoc::RDoc.add_generator with the class of the generator:
class My::Awesome::Generator RDoc::RDoc.add_generator self end
Before option processing in
RDoc::Options will call ::setup_options on the generator class with an
RDoc::Options instance. The generator can use
RDoc::Options#option_parser to add command-line options to the
rdoc tool. See Custom Options at
RDoc::Options for an example and see
OptionParser for details on how to add options.
You can extend the
RDoc::Options instance with additional accessors for your generator.
Generator Instantiation¶ ↑
RDoc::RDoc will instantiate a generator by calling initialize with an
RDoc::Store instance and an
RDoc::Store instance holds documentation for parsed source code. In
RDoc 3 and earlier the
RDoc::TopLevel class held this data. When upgrading a generator from
RDoc 3 and earlier you should only need to replace
RDoc::TopLevel with the store instance.
RDoc will then call generate on the generator instance. You can use the various methods on
RDoc::Store and in the
RDoc::CodeObject tree to create your desired output format.