module RDoc

RDoc produces documentation for Ruby source files by parsing the source and extracting the definition for classes, modules, methods, includes and requires. It associates these with optional documentation contained in an immediately preceding comment block then renders the result using an output formatter.

For a simple introduction to writing or generating documentation using RDoc see the README.

Roadmap

If you think you found a bug in RDoc see Bugs at CONTRIBUTING

If you want to use RDoc to create documentation for your Ruby source files, see RDoc::Markup and refer to rdoc --help for command line usage.

If you want to set the default markup format see Markup Formats at RDoc::Markup

If you want to store rdoc configuration in your gem (such as the default markup format) see Saved Options at RDoc::Options

If you want to write documentation for Ruby files see RDoc::Parser::Ruby

If you want to write documentation for extensions written in C see RDoc::Parser::C

If you want to generate documentation using rake see RDoc::Task.

If you want to drive RDoc programmatically, see RDoc::RDoc.

If you want to use the library to format text blocks into HTML or other formats, look at RDoc::Markup.

If you want to make an RDoc plugin such as a generator or directive handler see RDoc::RDoc.

If you want to write your own output generator see RDoc::Generator.

If you want an overview of how RDoc works see Bugs at CONTRIBUTING

Credits

RDoc is currently being maintained by Eric Hodel <drbrain@segment7.net>.

Dave Thomas <dave@pragmaticprogrammer.com> is the original author of RDoc.

Constants

ATTR_MODIFIERS

RDoc modifiers for attributes

CLASS_MODIFIERS

RDoc modifiers for classes

CONSTANT_MODIFIERS

RDoc modifiers for constants

DOT_DOC_FILENAME

Name of the dotfile that contains the description of files to be processed in the current directory

GENERAL_MODIFIERS

General RDoc modifiers

KNOWN_CLASSES

Ruby’s built-in classes, modules and exceptions

METHOD_MODIFIERS

RDoc modifiers for methods

VERSION

RDoc version you are using

VISIBILITIES

Method visibilities

Public Class Methods

home ()

Searches and returns the directory for settings.

  1. $HOME/.rdoc directory, if it exists.

  2. The rdoc directory under the path specified by the XDG_DATA_HOME environment variable, if it is set.

  3. $HOME/.local/share/rdoc directory.

Other than the home directory, the containing directory will be created automatically.

# File lib/rdoc.rb, line 134
def self.home
  rdoc_dir = begin
              File.expand_path('~/.rdoc')
            rescue ArgumentError
            end

  if File.directory?(rdoc_dir)
    rdoc_dir
  else
    require 'fileutils'
    begin
      # XDG
      xdg_data_home = ENV["XDG_DATA_HOME"] || File.join(File.expand_path("~"), '.local', 'share')
      unless File.exist?(xdg_data_home)
        FileUtils.mkdir_p xdg_data_home
      end
      File.join xdg_data_home, "rdoc"
    rescue Errno::EACCES
    end
  end
end
load_yaml ()

Loads the best available YAML library.

# File lib/rdoc.rb, line 107
def self.load_yaml
  begin
    gem 'psych'
  rescue NameError => e # --disable-gems
    raise unless e.name == :gem
  rescue Gem::LoadError
  end

  begin
    require 'psych'
  rescue ::LoadError
  ensure
    require 'yaml'
  end
end