Module: RDoc
- Defined in:
- lib/rdoc.rb,
lib/rdoc/version.rb,
lib/rdoc/markup/raw.rb,
lib/rdoc/rbs_helper.rb,
lib/rdoc/markup/table.rb,
lib/rdoc/known_classes.rb,
lib/rdoc/rubygems_hook.rb,
lib/rdoc/markup/element.rb,
lib/rdoc/markup/heading.rb,
lib/rdoc/markup/blank_line.rb,
lib/rdoc/markup/hard_break.rb
Overview
RBS type signature support. Loads type information from .rbs files, validates inline annotations, and converts type signatures to HTML with linked type names.
Defined Under Namespace
Modules: Encoding, Generator, I18n, RI, RbsHelper, Text, TokenStream Classes: Alias, AnyMethod, Attr, ClassModule, CodeObject, Comment, Constant, Context, CrossReference, ERBIO, ERBPartial, Error, Extend, Include, Markdown, Markup, MethodAttr, Mixin, NormalClass, NormalModule, Options, Parser, RD, RDoc, Require, RubyGemsHook, RubygemsHook, Server, SingleClass, Stats, Store, Task, TomDoc, TopLevel
Constant Summary collapse
- 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]
- VERSION =
RDoc version you are using
'8.0.0'- 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_cRefinement" => "Refinement", "rb_cRegexp" => "Regexp", "rb_cRubyVM" => "RubyVM", "rb_cSocket" => "Socket", "rb_cString" => "String", "rb_cStruct" => "Struct", "rb_cSymbol" => "Symbol", "rb_cThread" => "Thread", "rb_cTime" => "Time", "rb_cTrueClass" => "TrueClass", "rb_eArgError" => "ArgumentError", "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" => "NoMemoryError", "rb_eNotImpError" => "NotImplementedError", "rb_eRangeError" => "RangeError", "rb_eRuntimeError" => "RuntimeError", "rb_eScriptError" => "ScriptError", "rb_eSecurityError" => "SecurityError", "rb_eSignal" => "SignalException", "rb_eStandardError" => "StandardError", "rb_eSyntaxError" => "SyntaxError", "rb_eSystemCallError" => "SystemCallError", "rb_eSystemExit" => "SystemExit", "rb_eTypeError" => "TypeError", "rb_eZeroDivError" => "ZeroDivisionError", "rb_mComparable" => "Comparable", "rb_mEnumerable" => "Enumerable", "rb_mErrno" => "Errno", "rb_mFConst" => "File::Constants", "rb_mFileTest" => "FileTest", "rb_mGC" => "GC", "rb_mKernel" => "Kernel", "rb_mMath" => "Math", "rb_mProcess" => "Process" }
Class Method Summary collapse
-
.home ⇒ Object
Searches and returns the directory for settings.
-
.load_yaml ⇒ Object
Loads the YAML backend used for
.rdoc_options. -
.safe_mtime(file) ⇒ Object
Returns File.mtime(file), or
nilif the file cannot be stat’d (missing, permission denied, etc.). -
.yaml_serializer ⇒ Object
The minimal YAML serializer module loaded by ::load_yaml as a fallback.
Class Method Details
.home ⇒ Object
Searches and returns the directory for settings.
-
$HOME/.rdocdirectory, if it exists. -
The
rdocdirectory under the path specified by theXDG_DATA_HOMEenvironment variable, if it is set. -
$HOME/.local/share/rdocdirectory.
Other than the home directory, the containing directory will be created automatically.
153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 |
# File 'lib/rdoc.rb', line 153 def self.home rdoc_dir = begin File.('~/.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.("~"), '.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 ⇒ Object
Loads the YAML backend used for .rdoc_options.
Psych is preferred and used whenever it can be required. Requiring yaml is not attempted as a fallback because yaml is merely a thin wrapper that loads Psych anyway. When Psych is genuinely unavailable, a minimal serializer shipped with RubyGems or Bundler is loaded instead, so that RDoc does not need a runtime dependency on Psych. Callers branch on whether Psych is defined and use ::yaml_serializer otherwise.
112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 |
# File 'lib/rdoc.rb', line 112 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 # Psych is unavailable; load the stub serializer shipped with RubyGems, # or Bundler's copy on RubyGems older than 3.5 (Ruby 3.2) where # rubygems/yaml_serializer does not exist yet. begin require 'rubygems/yaml_serializer' rescue ::LoadError require 'bundler/yaml_serializer' end end end |
.safe_mtime(file) ⇒ Object
Returns File.mtime(file), or nil if the file cannot be stat’d (missing, permission denied, etc.).
179 180 181 182 183 |
# File 'lib/rdoc.rb', line 179 def self.safe_mtime(file) File.mtime(file) rescue SystemCallError nil end |
.yaml_serializer ⇒ Object
The minimal YAML serializer module loaded by ::load_yaml as a fallback. Only meaningful when Psych is not defined.
138 139 140 |
# File 'lib/rdoc.rb', line 138 def self.yaml_serializer defined?(Gem::YAMLSerializer) ? Gem::YAMLSerializer : Bundler::YAMLSerializer end |