Extract code elements from a source file, returning a TopLevel object containing the constituent file elements.
This file is based on rtags
Methods
Classes and Modules
Module RDoc::PageModule RDoc::ParserFactory
Class RDoc::Alias
Class RDoc::AnonClass
Class RDoc::AnyMethod
Class RDoc::Attr
Class RDoc::C_Parser
Class RDoc::ClassModule
Class RDoc::CodeObject
Class RDoc::Constant
Class RDoc::Context
Class RDoc::Diagram
Class RDoc::Fortran95parser
Class RDoc::Include
Class RDoc::NormalClass
Class RDoc::NormalModule
Class RDoc::RDoc
Class RDoc::RDocError
Class RDoc::Require
Class RDoc::RubyParser
Class RDoc::SimpleParser
Class RDoc::SingleClass
Class RDoc::Stats
Class RDoc::Token
Class RDoc::TopLevel
Constants
| DOT_DOC_FILENAME | = | ".document" | Name of the dotfile that contains the description of files to be processed in the current directory | |
| KNOWN_CLASSES | = | { "rb_cObject" => "Object", "rb_cArray" => "Array", "rb_cBignum" => "Bignum", "rb_cClass" => "Class", "rb_cDir" => "Dir", "rb_cData" => "Data", "rb_cFalseClass" => "FalseClass", "rb_cFile" => "File", "rb_cFixnum" => "Fixnum", "rb_cFloat" => "Float", "rb_cHash" => "Hash", "rb_cInteger" => "Integer", "rb_cIO" => "IO", "rb_cModule" => "Module", "rb_cNilClass" => "NilClass", "rb_cNumeric" => "Numeric", "rb_cProc" => "Proc", "rb_cRange" => "Range", "rb_cRegexp" => "Regexp", "rb_cString" => "String", "rb_cSymbol" => "Symbol", "rb_cThread" => "Thread", "rb_cTime" => "Time", "rb_cTrueClass" => "TrueClass", "rb_cStruct" => "Struct", "rb_eException" => "Exception", "rb_eStandardError" => "StandardError", "rb_eSystemExit" => "SystemExit", "rb_eInterrupt" => "Interrupt", "rb_eSignal" => "Signal", "rb_eFatal" => "Fatal", "rb_eArgError" => "ArgError", "rb_eEOFError" => "EOFError", "rb_eIndexError" => "IndexError", "rb_eRangeError" => "RangeError", "rb_eIOError" => "IOError", "rb_eRuntimeError" => "RuntimeError", "rb_eSecurityError" => "SecurityError", "rb_eSystemCallError" => "SystemCallError", "rb_eTypeError" => "TypeError", "rb_eZeroDivError" => "ZeroDivError", "rb_eNotImpError" => "NotImpError", "rb_eNoMemError" => "NoMemError", "rb_eFloatDomainError" => "FloatDomainError", "rb_eScriptError" => "ScriptError", "rb_eNameError" => "NameError", "rb_eSyntaxError" => "SyntaxError", "rb_eLoadError" => "LoadError", "rb_mKernel" => "Kernel", "rb_mComparable" => "Comparable", "rb_mEnumerable" => "Enumerable", "rb_mPrecision" => "Precision", "rb_mErrno" => "Errno", "rb_mFileTest" => "FileTest", "rb_mGC" => "GC", "rb_mMath" => "Math", "rb_mProcess" => "Process" | ||
| GENERAL_MODIFIERS | = | [ 'nodoc' ].freeze | ||
| CLASS_MODIFIERS | = | GENERAL_MODIFIERS | ||
| ATTR_MODIFIERS | = | GENERAL_MODIFIERS | ||
| CONSTANT_MODIFIERS | = | GENERAL_MODIFIERS | ||
| METHOD_MODIFIERS | = | GENERAL_MODIFIERS + [ 'arg', 'args', 'yield', 'yields', 'notnew', 'not-new', 'not_new', 'doc' ] |
Public Class methods
Display usage information from the comment at the top of the file. String arguments identify specific sections of the comment to display. An optional integer first argument specifies the exit status (defaults to 0)
# File rdoc/usage.rb, line 81
81: def RDoc.usage(*args)
82: exit_code = 0
83:
84: if args.size > 0
85: status = args[0]
86: if status.respond_to?(:to_int)
87: exit_code = status.to_int
88: args.shift
89: end
90: end
91:
92: # display the usage and exit with the given code
93: usage_no_exit(*args)
94: exit(exit_code)
95: end
Display usage
# File rdoc/usage.rb, line 98
98: def RDoc.usage_no_exit(*args)
99: main_program_file, = caller[-1].split(/:\d+/, 2)
100: comment = File.open(main_program_file) do |file|
101: find_comment(file)
102: end
103:
104: comment = comment.gsub(/^\s*#/, '')
105:
106: markup = SM::SimpleMarkup.new
107: flow_convertor = SM::ToFlow.new
108:
109: flow = markup.convert(comment, flow_convertor)
110:
111: format = "plain"
112:
113: unless args.empty?
114: flow = extract_sections(flow, args)
115: end
116:
117: options = RI::Options.instance
118: if args = ENV["RI"]
119: options.parse(args.split)
120: end
121: formatter = options.formatter.new(options, "")
122: formatter.display_flow(flow)
123: end