Module: RDoc
- Defined in:
- lib/rdoc.rb,
lib/rdoc/known_classes.rb
Overview
RDoc - Ruby Documentation System
This package contains RDoc and RDoc::Markup. RDoc is an application that produces documentation for one or more Ruby source files. It works similarly to JavaDoc, parsing the source, and extracting the definition for classes, modules, and methods (along with includes and requires). It associates with these optional documentation contained in the immediately preceding comment block, and then renders the result using a pluggable output formatter. RDoc::Markup is a library that converts plain text into various output formats. The markup library is used to interpret the comment blocks that RDoc uses to document methods, classes, and so on.
Roadmap
-
If you want to use RDoc to create documentation for your Ruby source files, read the summary below, and refer to rdoc --help for command line usage, and RDoc::Markup for a detailed description of RDoc's markup.
-
If you want to generate documentation for extensions written in C, see RDoc::Parser::C
-
If you want to drive RDoc programmatically, see RDoc::RDoc.
-
If you want to use the library to format text blocks into HTML, 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 try writing your own output generator see RDoc::Generator.
Summary
Once installed, you can create documentation using the rdoc command
% rdoc [options] [names...]
For an up-to-date option summary, type
% rdoc --help
A typical use might be to generate documentation for a package of Ruby source (such as RDoc itself).
% rdoc
This command generates documentation for all the Ruby and C source files in and below the current directory. These will be stored in a documentation tree starting in the subdirectory doc.
You can make this slightly more useful for your readers by having the index page contain the documentation for the primary file. In our case, we could type
% rdoc --main README.txt
You'll find information on the various formatting tricks you can use in comment blocks in the documentation this generates.
RDoc uses file extensions to determine how to process each file. File names ending .rb and .rbw are assumed to be Ruby source. Files ending .c are parsed as C files. All other files are assumed to contain just Markup-style markup (with or without leading '#' comment markers). If directory names are passed to RDoc, they are scanned recursively for C and Ruby source files only.
Other stuff
RDoc is currently being maintained by Eric Hodel <drbrain@segment7.net>.
Dave Thomas <dave@pragmaticprogrammer.com> is the original author of RDoc.
Credits
-
The Ruby parser in rdoc/parse.rb is based heavily on the outstanding work of Keiju ISHITSUKA of Nippon Rational Inc, who produced the Ruby parser for irb and the rtags package.
Defined Under Namespace
Modules: Encoding, Generator, RI, RubyToken, Text, TokenStream Classes: Alias, AnonClass, AnyMethod, Attr, ClassModule, CodeObject, Constant, Context, ERBIO, Error, GhostMethod, Include, Markup, MetaMethod, MethodAttr, NormalClass, NormalModule, Options, Parser, RDoc, Require, RubyLex, SingleClass, Stats, Task, TopLevel
Constant Summary
- VERSION =
RDoc version you are using
'3.5.3'- VISIBILITIES =
Method visibilities
[:public, :protected, :private]
- DOT_DOC_FILENAME =
Name of the dotfile that contains the description of files to be processed in the current directory
".document"- GENERAL_MODIFIERS =
General RDoc modifiers
%w[nodoc].freeze
- CLASS_MODIFIERS =
RDoc modifiers for classes
GENERAL_MODIFIERS- ATTR_MODIFIERS =
RDoc modifiers for attributes
GENERAL_MODIFIERS- CONSTANT_MODIFIERS =
RDoc modifiers for constants
GENERAL_MODIFIERS- METHOD_MODIFIERS =
RDoc modifiers for methods
GENERAL_MODIFIERS + %w[arg args yield yields notnew not-new not_new doc]
- KNOWN_CLASSES =
Ruby's built-in classes, modules and exceptions
{ "rb_cArray" => "Array", "rb_cBasicObject" => "BasicObject", "rb_cBignum" => "Bignum", "rb_cClass" => "Class", "rb_cData" => "Data", "rb_cDir" => "Dir", "rb_cEncoding" => "Encoding", "rb_cFalseClass" => "FalseClass", "rb_cFile" => "File", "rb_cFixnum" => "Fixnum", "rb_cFloat" => "Float", "rb_cHash" => "Hash", "rb_cIO" => "IO", "rb_cInteger" => "Integer", "rb_cModule" => "Module", "rb_cNilClass" => "NilClass", "rb_cNumeric" => "Numeric", "rb_cObject" => "Object", "rb_cProc" => "Proc", "rb_cRange" => "Range", "rb_cRegexp" => "Regexp", "rb_cRubyVM" => "RubyVM", "rb_cString" => "String", "rb_cStruct" => "Struct", "rb_cSymbol" => "Symbol", "rb_cThread" => "Thread", "rb_cTime" => "Time", "rb_cTrueClass" => "TrueClass", "rb_eArgError" => "ArgError", "rb_eEOFError" => "EOFError", "rb_eException" => "Exception", "rb_eFatal" => "Fatal", "rb_eFloatDomainError" => "FloatDomainError", "rb_eIOError" => "IOError", "rb_eIndexError" => "IndexError", "rb_eInterrupt" => "Interrupt", "rb_eLoadError" => "LoadError", "rb_eNameError" => "NameError", "rb_eNoMemError" => "NoMemError", "rb_eNotImpError" => "NotImpError", "rb_eRangeError" => "RangeError", "rb_eRuntimeError" => "RuntimeError", "rb_eScriptError" => "ScriptError", "rb_eSecurityError" => "SecurityError", "rb_eSignal" => "Signal", "rb_eStandardError" => "StandardError", "rb_eSyntaxError" => "SyntaxError", "rb_eSystemCallError" => "SystemCallError", "rb_eSystemExit" => "SystemExit", "rb_eTypeError" => "TypeError", "rb_eZeroDivError" => "ZeroDivError", "rb_mComparable" => "Comparable", "rb_mEnumerable" => "Enumerable", "rb_mErrno" => "Errno", "rb_mFileTest" => "FileTest", "rb_mGC" => "GC", "rb_mKernel" => "Kernel", "rb_mMath" => "Math", "rb_mProcess" => "Process" }
Class Method Summary (collapse)
-
+ (Object) const_missing(const_name)
:nodoc:.
Class Method Details
+ (Object) const_missing(const_name)
:nodoc:
86 87 88 89 90 91 92 93 |
# File 'lib/rdoc.rb', line 86 def self.const_missing const_name # :nodoc: if const_name.to_s == 'RDocError' then warn "RDoc::RDocError is deprecated" return Error end super end |