Linux server1.dn-server.com 4.18.0-553.89.1.lve.el8.x86_64 #1 SMP Wed Dec 10 13:58:50 UTC 2025 x86_64
LiteSpeed
Server IP : 195.201.204.189 & Your IP : 216.73.216.222
Domains :
Cant Read [ /etc/named.conf ]
User : beriska1
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
opt /
alt /
ruby31 /
share /
ri /
system /
Delete
Unzip
Name
Size
Permission
Date
Action
ACL
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
ARGF
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Abbrev
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Addrinfo
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
ArgumentError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Array
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Base64
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
BasicObject
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
BasicSocket
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Benchmark
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
BigDecimal
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
BigMath
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Binding
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Bundler
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
CGI
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
CSV
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Class
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
ClosedQueueError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Comparable
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Complex
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Continuation
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
CoreExtensions
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Coverage
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
DRb
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Date
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
DateTime
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Delegator
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
DidYouMean
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Digest
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Dir
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
ENV
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
EOFError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
ERB
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Encoding
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
EncodingError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
English
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Enumerable
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Enumerator
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Errno
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
ErrorHighlight
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Etc
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Exception
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
FalseClass
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Fcntl
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Fiber
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
FiberError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Fiddle
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
File
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
FileTest
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
FileUtils
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Find
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Float
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
FloatDomainError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Forwardable
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
FrozenError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
GC
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Gem
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
GetoptLong
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Hash
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
IO
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
IOError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
IPAddr
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
IPSocket
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
IRB
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
IndexError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Integer
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Interrupt
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
JSON
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Jacobian
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Kconv
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Kernel
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
KeyError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
LUSolve
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
LoadError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
LocalJumpError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Logger
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
MakeMakefile
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Marshal
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
MatchData
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Math
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Method
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Module
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Monitor
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
MonitorMixin
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Mutex_m
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
NKF
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
NameError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Net
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Newton
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
NilClass
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
NoMatchingPatternError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
NoMatchingPatternKeyError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
NoMemoryError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
NoMethodError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
NotImplementedError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Numeric
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
OLEProperty
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Object
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
ObjectSpace
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Observable
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Open3
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
OpenSSL
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
OpenStruct
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
OpenURI
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
OptionParser
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
PP
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
PStore
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
PTY
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Pathname
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Pool
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
PrettyPrint
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Proc
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Process
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Psych
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
RDoc
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
RDocTask
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Racc
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Ractor
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Rake
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Random
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Range
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
RangeError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Rational
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
RbConfig
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Readline
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Refinement
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Regexp
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
RegexpError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Reline
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Resolv
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Rinda
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Ripper
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
RubyLex
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
RubyVM
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
RuntimeError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
SOCKSSocket
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
ScriptError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
SecureRandom
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
SecurityError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Set
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Shellwords
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Signal
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
SignalException
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
SimpleDelegator
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
SingleForwardable
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Singleton
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Socket
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
SocketError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
StandardError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
StopIteration
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
String
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
StringIO
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
StringScanner
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Struct
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Symbol
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
SyntaxError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Syslog
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
SystemCallError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
SystemExit
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
SystemStackError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
TCPServer
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
TCPSocket
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
TSort
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Tempfile
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Thread
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
ThreadError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
ThreadGroup
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Time
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Timeout
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
TracePoint
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
TrueClass
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
TypeError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
UDPSocket
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
UNIXServer
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
UNIXSocket
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
URI
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
UnboundMethod
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
UncaughtThrowError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
UnicodeNormalize
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
WIN32OLE
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
WIN32OLEQueryInterfaceError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
WIN32OLERuntimeError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
WIN32OLE_EVENT
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
WIN32OLE_METHOD
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
WIN32OLE_PARAM
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
WIN32OLE_RECORD
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
WIN32OLE_TYPE
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
WIN32OLE_TYPELIB
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
WIN32OLE_VARIABLE
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
WIN32OLE_VARIANT
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Warning
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
WeakRef
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Win32
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
XMP
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
YAML
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
ZeroDivisionError
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
Zlib
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
fatal
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
syntax
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
win32
[ DIR ]
drwxr-xr-x
2026-05-01 04:23
cache.ri
292.99
KB
-rw-r--r--
2025-04-28 21:06
page-CONTRIBUTING_md.ri
402
B
-rw-r--r--
2025-04-28 21:06
page-COPYING.ri
3.06
KB
-rw-r--r--
2025-04-28 21:06
page-COPYING_ja.ri
3.16
KB
-rw-r--r--
2025-04-28 21:06
page-LEGAL.ri
50.46
KB
-rw-r--r--
2025-04-28 21:06
page-NEWS-1_8_7.ri
22.05
KB
-rw-r--r--
2025-04-28 21:06
page-NEWS-1_9_1.ri
17.56
KB
-rw-r--r--
2025-04-28 21:06
page-NEWS-1_9_2.ri
20.67
KB
-rw-r--r--
2025-04-28 21:06
page-NEWS-1_9_3.ri
14.91
KB
-rw-r--r--
2025-04-28 21:06
page-NEWS-2_0_0.ri
26.03
KB
-rw-r--r--
2025-04-28 21:06
page-NEWS-2_1_0.ri
18.21
KB
-rw-r--r--
2025-04-28 21:06
page-NEWS-2_2_0.ri
16.89
KB
-rw-r--r--
2025-04-28 21:06
page-NEWS-2_3_0.ri
17.8
KB
-rw-r--r--
2025-04-28 21:06
page-NEWS-2_4_0.ri
16.02
KB
-rw-r--r--
2025-04-28 21:06
page-NEWS-2_5_0.ri
23.8
KB
-rw-r--r--
2025-04-28 21:06
page-NEWS-2_6_0.ri
24.97
KB
-rw-r--r--
2025-04-28 21:06
page-NEWS-2_7_0.ri
32.01
KB
-rw-r--r--
2025-04-28 21:06
page-NEWS-3_0_0_md.ri
30.38
KB
-rw-r--r--
2025-04-28 21:06
page-NEWS_md.ri
27.51
KB
-rw-r--r--
2025-04-28 21:06
page-README_ja_md.ri
10.97
KB
-rw-r--r--
2025-04-28 21:06
page-README_md.ri
8.76
KB
-rw-r--r--
2025-04-28 21:06
page-bsearch_rdoc.ri
5.51
KB
-rw-r--r--
2025-04-28 21:06
page-bug_triaging_rdoc.ri
4.83
KB
-rw-r--r--
2025-04-28 21:06
page-case_mapping_rdoc.ri
4.48
KB
-rw-r--r--
2025-04-28 21:06
page-contributing_rdoc.ri
20.01
KB
-rw-r--r--
2025-04-28 21:06
page-dig_methods_rdoc.ri
3.66
KB
-rw-r--r--
2025-04-28 21:06
page-documentation_guide_rdoc.ri
13.53
KB
-rw-r--r--
2025-04-28 21:06
page-dtrace_probes_rdoc.ri
9.92
KB
-rw-r--r--
2025-04-28 21:06
page-extension_ja_rdoc.ri
86.06
KB
-rw-r--r--
2025-04-28 21:06
page-extension_rdoc.ri
88.73
KB
-rw-r--r--
2025-04-28 21:06
page-fiber_md.ri
7.55
KB
-rw-r--r--
2025-04-28 21:06
page-globals_rdoc.ri
5.82
KB
-rw-r--r--
2025-04-28 21:06
page-hacking_md.ri
2.51
KB
-rw-r--r--
2025-04-28 21:06
page-implicit_conversion_rdoc.ri
7.22
KB
-rw-r--r--
2025-04-28 21:06
page-keywords_rdoc.ri
6.29
KB
-rw-r--r--
2025-04-28 21:06
page-maintainers_rdoc.ri
15.15
KB
-rw-r--r--
2025-04-28 21:06
page-make_cheatsheet_md.ri
3.45
KB
-rw-r--r--
2025-04-28 21:06
page-marshal_rdoc.ri
14.17
KB
-rw-r--r--
2025-04-28 21:06
page-memory_view_md.ri
8.85
KB
-rw-r--r--
2025-04-28 21:06
page-ractor_md.ri
31.63
KB
-rw-r--r--
2025-04-28 21:06
page-regexp_rdoc.ri
37.09
KB
-rw-r--r--
2025-04-28 21:06
page-security_rdoc.ri
7.09
KB
-rw-r--r--
2025-04-28 21:06
page-signals_rdoc.ri
4.96
KB
-rw-r--r--
2025-04-28 21:06
page-standard_library_rdoc.ri
8.89
KB
-rw-r--r--
2025-04-28 21:06
page-syntax_rdoc.ri
1.88
KB
-rw-r--r--
2025-04-28 21:06
Save
Rename
U:RDoc::TopLevel[ i I"documentation_guide.rdoc:ETcRDoc::Parser::Simpleo:RDoc::Markup::Document:@parts[�S:RDoc::Markup::Heading: leveli: textI"Documentation Guide;To:RDoc::Markup::BlankLine o:RDoc::Markup::Paragraph;[I":This guide discusses recommendations for documenting ;TI"#classes, modules, and methods ;TI"7in the Ruby core and in the Ruby standard library.;T@ S; ; i;I" Goal;T@ o; ;[ I"DThe goal of Ruby documentation is to impart the most important ;TI"(and relevant in the shortest time. ;TI"DThe reader should be able to quickly understand the usefulness ;TI"+of the subject code and how to use it.;T@ o; ;[I"HProviding too little information is bad, but providing unimportant ;TI"=information or unnecessary examples is not good either. ;TI"9Use your judgment about what the user needs to know.;T@ S; ; i;I"General Guidelines;T@ o:RDoc::Markup::List: @type:BULLET:@items[ o:RDoc::Markup::ListItem:@label0;[o; ;[I"@Keep in mind that the reader may not be fluent in \English.;To;;0;[o; ;[I"5Write short declarative or imperative sentences.;To;;0;[o; ;[I"6Group sentences into (ideally short) paragraphs, ;TI""each covering a single topic.;To;;0;[o; ;[I"Organize material with ;TI"g{headers}[https://docs.ruby-lang.org/en/master/RDoc/Markup.html#class-RDoc::Markup-label-Headers].;To;;0;[o; ;[I"7Refer to authoritative and relevant sources using ;TI"c{links}[https://docs.ruby-lang.org/en/master/RDoc/Markup.html#class-RDoc::Markup-label-Links].;To;;0;[o; ;[I"HUse simple verb tenses: simple present, simple past, simple future.;To;;0;[o; ;[I"FUse simple sentence structure, not compound or complex structure.;To;;0;[o; ;[I"Avoid:;T@ o;;;;[o;;0;[o; ;[I"(Excessive comma-separated phrases; ;TI"tconsider a {list}[https://docs.ruby-lang.org/en/master/RDoc/Markup.html#class-RDoc::Markup-label-Simple+Lists].;To;;0;[o; ;[I",Idioms and culture-specific references.;To;;0;[o; ;[I"Overuse of headers.;T@ S; ; i;I" \RDoc;T@ o; ;[I"$Ruby is documented using RDoc. ;TI";For information on \RDoc syntax and features, see the ;TI"~{RDoc Markup Reference}[https://docs.ruby-lang.org/en/master/RDoc/Markup.html#class-RDoc::Markup-label-RDoc+Markup+Reference].;T@ S; ; i;I"Output from <tt>irb</tt>;T@ o; ;[I"9For code examples, consider using interactive Ruby, ;TI"A{irb}[https://ruby-doc.org/stdlib/libdoc/irb/rdoc/IRB.html].;T@ o; ;[I"4For a code example that includes +irb+ output, ;TI">consider aligning <tt># => ...</tt> in successive lines. ;TI"-Alignment may sometimes aid readability:;T@ o:RDoc::Markup::Verbatim;[I"!a = [1, 2, 3] #=> [1, 2, 3] ;TI"!a.shuffle! #=> [2, 3, 1] ;TI"!a #=> [2, 3, 1] ;T:@format0S; ; i;I"Headers;T@ o; ;[I"%Organize a long discussion with ;TI"g{headers}[https://docs.ruby-lang.org/en/master/RDoc/Markup.html#class-RDoc::Markup-label-Headers].;T@ S; ; i;I"Blank Lines;T@ o; ;[I")A blank line begins a new paragraph.;T@ o; ;[ I"|A {code block}[https://docs.ruby-lang.org/en/master/RDoc/Markup.html#class-RDoc::Markup-label-Paragraphs+and+Verbatim] ;TI"lor {list}[https://docs.ruby-lang.org/en/master/RDoc/Markup.html#class-RDoc::Markup-label-Simple+Lists] ;TI"9should be preceded by and followed by a blank line. ;TI"KThis is unnecessary for the HTML output, but helps in the +ri+ output.;T@ S; ; i;I"Auto-Linking;T@ o; ;[I"@In general, \RDoc's auto-linking should not be suppressed. ;TI"?For example, we should write +Array+, not <tt>\Array</tt>.;T@ o; ;[I"0We might consider whether to suppress when:;T@ o;;;;[o;;0;[o; ;[I":The word in question does not refer to a Ruby entity ;TI"/(e.g., some uses of _Class_ or _English_).;To;;0;[o; ;[I"4The reference is to the current class document ;TI"<(e.g., _Array_ in the documentation for class +Array+).;To;;0;[o; ;[I"/The same reference is repeated many times ;TI"!(e.g., _RDoc_ on this page).;T@ S; ; i;I"$Documenting Classes and Modules;T@ o; ;[I"JThe general structure of the class or module documentation should be:;T@ o;;;;[o;;0;[o; ;[I" Synopsis;To;;0;[o; ;[I"Common uses, with examples;To;;0;[o; ;[I"%"What's Here" summary (optional);T@ S; ; i;I" Synopsis;T@ o; ;[I"JThe synopsis is a short description of what the class or module does ;TI".and why the reader might want to use it. ;TI"#Avoid details in the synopsis.;T@ S; ; i;I"Common Uses;T@ o; ;[I".Show common uses of the class or module. ;TI"EDepending on the class or module, this section may vary greatly ;TI"#in both length and complexity.;T@ S; ; i;I"What's Here Summary;T@ o; ;[I"QThe documentation for a class or module may include a "What's Here" section.;T@ o; ;[I"Guidelines:;T@ o;;;;[o;;0;[o; ;[I"/The section title is <tt>What's Here</tt>.;To;;0;[o; ;[I"JConsider listing the parent class and any included modules; consider ;TI"c{links}[https://docs.ruby-lang.org/en/master/RDoc/Markup.html#class-RDoc::Markup-label-Links] ;TI"4to their "What's Here" sections if those exist.;To;;0;[o; ;[I"List methods as a {labeled list}[https://docs.ruby-lang.org/en/master/RDoc/Markup.html#class-RDoc::Markup-label-Labeled+Lists].;To;;0;[o; ;[I"/Each list entry's label is a method name; ;TI"Mif the method has aliases, include those with the "base" method method, ;TI"%and do not list them separately.;To;;0;[o; ;[I"PCheck the rendered documentation to determine whether \RDoc has recognized ;TI"=the method and linked to it; if not, manually insert a ;TI"b{link}[https://docs.ruby-lang.org/en/master/RDoc/Markup.html#class-RDoc::Markup-label-Links].;To;;0;[o; ;[I"BEach entry's description is a 1-line synopsis for the method.;To;;0;[o; ;[I" Keep the description short.;To;;0;[o; ;[I"TIf there are more entries, consider gouping them into subsections with headers.;To;;0;[o; ;[I"4If there are more than a few such subsections, ;TI"Kconsider adding a table of contents just below the main section title.;T@ S; ; i;I"Documenting Methods;T@ S; ; i;I"General Structure;T@ o; ;[I"AThe general structure of the method documentation should be:;T@ o;;;;[o;;0;[o; ;[I"1Calling sequence (for methods written in C).;To;;0;[o; ;[I""Synopsis (short description).;To;;0;[o; ;[I"Details and examples.;To;;0;[o; ;[I")Argument description (if necessary).;To;;0;[o; ;[I"!Corner cases and exceptions.;To;;0;[o; ;[I" Aliases.;To;;0;[o; ;[I" Related methods (optional).;T@ S; ; i;I"0Calling Sequence (for methods written in C);T@ o; ;[I"UFor methods written in Ruby, \RDoc documents the calling sequence automatically.;T@ o; ;[I"EFor methods written in C, \RDoc cannot determine what arguments ;TI"Nthe method accepts, so those need to be documented using \RDoc directive ;TI"s{:call-seq:}[https://docs.ruby-lang.org/en/master/RDoc/Markup.html#class-RDoc::Markup-label-Method+arguments].;T@ o; ;[I" Example:;T@ o;;[ I"* call-seq: ;TI"!* array.count -> integer ;TI"&* array.count(obj) -> integer ;TI"2* array.count {|element| ... } -> integer ;T;0o; ;[I"6When creating the <tt>call-seq</tt>, use the form;T@ o;;[I"Mreceiver_type.method_name(arguments) {|block_arguments|} -> return_type ;T;0o; ;[I"POmit the parentheses for cases where the method does not accept arguments, ;TI"@and omit the block for cases where a block is not accepted.;T@ o; ;[I"QIn the cases where method can return multiple different types, separate the ;TI"Ptypes with "or". If the method can return any type, use "object". If the ;TI"-method returns the receiver, use "self".;T@ o; ;[ I"SIn cases where the method accepts optional arguments, use a <tt>call-seq</tt> ;TI"Twith an optional argument if the method has the same behavior when an argument ;TI"Uis omitted as when the argument is passed with the default value. For example, ;TI" use:;T@ o;;[I"G* obj.respond_to?(symbol, include_all=false) -> true or false ;T;0o; ;[I"Instead of:;T@ o;;[I"4* obj.respond_to?(symbol) -> true or false ;TI"A* obj.respond_to?(symbol, include_all) -> true or false ;T;0o; ;[I"QHowever, as shown above for <tt>Array#count</tt>, use separate lines if the ;TI"6behavior is different if the argument is omitted.;T@ o; ;[I"OOmit aliases from the call-seq, but mention them near the end (see below).;T@ o; ;[I"kA +call-seq+ block should have <tt>{|x| ... }</tt>, not <tt>{|x| block }</tt> or <tt>{|x| code }</tt>.;T@ o; ;[I" A +call-seq+ output should:;T@ o;;;;[o;;0;[o; ;[I",Have +self+, not +receiver+ or +array+.;To;;0;[o; ;[I"JBegin with +new_+ if and only if the output object is a new instance ;TI"Pof the receiver's class, to emphasize that the output object is not +self+.;T@ S; ; i;I" Synopsis;T@ o; ;[ I"EThe synopsis comes next, and is a short description of what the ;TI"Bmethod does and why you would want to use it. Ideally, this ;TI"Gis a single sentence, but for more complex methods it may require ;TI"an entire paragraph.;T@ o; ;[I"/For <tt>Array#count</tt>, the synopsis is:;T@ o;;[I",Returns a count of specified elements. ;T;0o; ;[I"FThis is great as it is short and descriptive. Avoid documenting ;TI"Gtoo much in the synopsis, stick to the most important information ;TI"#for the benefit of the reader.;T@ S; ; i;I"Details and Examples;T@ o; ;[I"HMost non-trivial methods benefit from examples, as well as details ;TI"Hbeyond what is given in the synopsis. In the details and examples ;TI"Fsection, you can document how the method handles different types ;TI"Cof arguments, and provides examples on proper usage. In this ;TI"Fsection, focus on how to use the method properly, not on how the ;TI"7method handles improper arguments or corner cases.;T@ o; ;[I"HNot every behavior of a method requires an example. If the method ;TI"Jis documented to return +self+, you don't need to provide an example ;TI"Jshowing the return value is the same as the receiver. If the method ;TI"Iis documented to return +nil+, you don't need to provide an example ;TI"Gshowing that it returns +nil+. If the details mention that for a ;TI"Gcertain argument type, an empty array is returned, you don't need ;TI"$to provide an example for that.;T@ o; ;[ I"IOnly add an example if it provides the user additional information, ;TI"Edo not add an example if it provides the same information given ;TI"Jin the synopsis or details. The purpose of examples is not to prove ;TI""what the details are stating.;T@ S; ; i;I"(Argument Description (if necessary);T@ o; ;[ I"KFor methods that require arguments, if not obvious and not explicitly ;TI"Kmentioned in the details or implicitly shown in the examples, you can ;TI"Nprovide details about the types of arguments supported. When discussing ;TI"Lthe types of arguments, use simple language even if less-precise, such ;TI"Nas "level must be an integer", not "level must be an Integer-convertible ;TI"Oobject". The vast majority of use will be with the expected type, not an ;TI"Gargument that is explicitly convertible to the expected type, and ;TI"1documenting the difference is not important.;T@ o; ;[I"LFor methods that take blocks, it can be useful to document the type of ;TI"Kargument passed if it is not obvious, not explicitly mentioned in the ;TI"7details, and not implicitly shown in the examples.;T@ o; ;[I"AIf there is more than one argument or block argument, use a ;TI"r{labeled list}[https://docs.ruby-lang.org/en/master/RDoc/Markup.html#class-RDoc::Markup-label-Labeled+Lists]};T@ S; ; i;I" Corner Cases and Exceptions;T@ o; ;[I"JFor corner cases of methods, such as atypical usage, briefly mention ;TI"3the behavior, but do not provide any examples.;T@ o; ;[ I"LOnly document exceptions raised if they are not obvious. For example, ;TI"Jif you have stated earlier than an argument type must be an integer, ;TI"Nyou do not need to document that a \TypeError is raised if a non-integer ;TI"Kis passed. Do not provide examples of exceptions being raised unless ;TI"Dthat is a common case, such as \Hash#fetch raising a \KeyError.;T@ S; ; i;I"Aliases;T@ o; ;[I" Mention aliases in the form;T@ o;;[I"3Array#find_index is an alias for Array#index. ;T;0S; ; i;I"Related Methods (optional);T@ o; ;[I"JIn some cases, it is useful to document which methods are related to ;TI"Hthe current method. For example, documentation for \Hash#[] might ;TI"Lmention \Hash#fetch as a related method, and \Hash#merge might mention ;TI"N\Hash#merge! as a related method. Consider which methods may be related ;TI"Jto the current method, and if you think the reader would benefit it, ;TI"Fat the end of the method documentation, add a line starting with ;TI"G"Related: " (e.g. "Related: #fetch"). Don't list more than three ;TI"Hrelated methods. If you think more than three methods are related, ;TI"Fpick the three you think are most important and list those three.;T@ S; ; i;I".Methods Accepting Multiple Argument Types;T@ o; ;[I"KFor methods that accept multiple argument types, in some cases it can ;TI"Jbe useful to document the different argument types separately. It's ;TI"Gbest to use a separate paragraph for each case you are discussing.;T: @file@:0@omit_headings_from_table_of_contents_below0