Type:
Module

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.

Registering a Generator

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

1
2
3
class My::Awesome::Generator
  RDoc::RDoc.add_generator self
end

Adding Options to rdoc

Before option processing in rdoc, 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

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

The 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.

cvs_url
  • References/Ruby on Rails/Ruby/Classes/RDoc/RDoc::Generator/RDoc::Generator::Markup

cvs_url(url, full_path) Instance Public methods Build a webcvs URL starting

2025-01-10 15:47:30
generate
  • References/Ruby on Rails/Ruby/Classes/RDoc/RDoc::Generator/RDoc::Generator::RI

generate() Instance Public methods Writes the parsed data store to disk for

2025-01-10 15:47:30
generate_servlet_not_found
  • References/Ruby on Rails/Ruby/Classes/RDoc/RDoc::Generator/RDoc::Generator::Darkfish

generate_servlet_not_found(path) Instance Public methods Generates the 404 page

2025-01-10 15:47:30
build_index
  • References/Ruby on Rails/Ruby/Classes/RDoc/RDoc::Generator/RDoc::Generator::JsonIndex

build_index() Instance Public methods Builds the

2025-01-10 15:47:30
template_for
  • References/Ruby on Rails/Ruby/Classes/RDoc/RDoc::Generator/RDoc::Generator::Darkfish

template_for(file, page = true, klass = ERB) Instance Public methods Retrieves

2025-01-10 15:47:30
template_result
  • References/Ruby on Rails/Ruby/Classes/RDoc/RDoc::Generator/RDoc::Generator::Darkfish

template_result(template, context, template_file) Instance Public methods Creates

2025-01-10 15:47:30
file_dir
  • References/Ruby on Rails/Ruby/Classes/RDoc/RDoc::Generator/RDoc::Generator::JsonIndex

file_dir() Instance Public methods The directory files are written to

2025-01-10 15:47:30
index_methods
  • References/Ruby on Rails/Ruby/Classes/RDoc/RDoc::Generator/RDoc::Generator::JsonIndex

index_methods() Instance Public methods Adds methods to the index

2025-01-10 15:47:30
write_style_sheet
  • References/Ruby on Rails/Ruby/Classes/RDoc/RDoc::Generator/RDoc::Generator::Darkfish

write_style_sheet() Instance Public methods Copy over the stylesheet into the

2025-01-10 15:47:30
assemble_template
  • References/Ruby on Rails/Ruby/Classes/RDoc/RDoc::Generator/RDoc::Generator::Darkfish

assemble_template(body_file) Instance Public methods Creates a template from

2025-01-10 15:47:30