rdoc 8.0.0 → 8.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CONTRIBUTING.md +1 -3
- data/RI.md +75 -75
- data/exe/rdoc +2 -2
- data/lib/rdoc/code_object/alias.rb +71 -69
- data/lib/rdoc/code_object/any_method.rb +305 -303
- data/lib/rdoc/code_object/attr.rb +150 -148
- data/lib/rdoc/code_object/class_module.rb +798 -792
- data/lib/rdoc/code_object/constant.rb +175 -173
- data/lib/rdoc/code_object/context/section.rb +142 -138
- data/lib/rdoc/code_object/context.rb +926 -958
- data/lib/rdoc/code_object/extend.rb +7 -5
- data/lib/rdoc/code_object/include.rb +7 -5
- data/lib/rdoc/code_object/method_attr.rb +326 -319
- data/lib/rdoc/code_object/mixin.rb +97 -95
- data/lib/rdoc/code_object/normal_class.rb +77 -78
- data/lib/rdoc/code_object/normal_module.rb +61 -59
- data/lib/rdoc/code_object/require.rb +23 -39
- data/lib/rdoc/code_object/single_class.rb +21 -19
- data/lib/rdoc/code_object/top_level.rb +212 -219
- data/lib/rdoc/code_object.rb +305 -303
- data/lib/rdoc/comment.rb +275 -273
- data/lib/rdoc/cross_reference.rb +192 -190
- data/lib/rdoc/encoding.rb +105 -103
- data/lib/rdoc/erb_partial.rb +13 -11
- data/lib/rdoc/erbio.rb +29 -27
- data/lib/rdoc/generator/aliki.rb +161 -153
- data/lib/rdoc/generator/darkfish.rb +645 -635
- data/lib/rdoc/generator/json_index.rb +233 -229
- data/lib/rdoc/generator/markup.rb +164 -146
- data/lib/rdoc/generator/pot/message_extractor.rb +57 -51
- data/lib/rdoc/generator/pot/po.rb +52 -51
- data/lib/rdoc/generator/pot/po_entry.rb +138 -132
- data/lib/rdoc/generator/pot.rb +85 -81
- data/lib/rdoc/generator/ri.rb +23 -19
- data/lib/rdoc/generator/template/aliki/DESIGN.md +6 -4
- data/lib/rdoc/generator/template/aliki/_footer.rhtml +1 -1
- data/lib/rdoc/generator/template/aliki/_head.rhtml +10 -10
- data/lib/rdoc/generator/template/aliki/_header.rhtml +29 -44
- data/lib/rdoc/generator/template/aliki/_sidebar_search.rhtml +4 -4
- data/lib/rdoc/generator/template/aliki/css/rdoc.css +207 -178
- data/lib/rdoc/generator/template/aliki/js/aliki.js +60 -84
- data/lib/rdoc/generator/template/darkfish/_footer.rhtml +1 -1
- data/lib/rdoc/generator.rb +48 -46
- data/lib/rdoc/i18n/locale.rb +99 -95
- data/lib/rdoc/i18n/text.rb +109 -105
- data/lib/rdoc/i18n.rb +7 -5
- data/lib/rdoc/markdown/byte_runtime.rb +80 -0
- data/lib/rdoc/markdown.kpeg +15 -11
- data/lib/rdoc/markdown.rb +40 -47
- data/lib/rdoc/markup/block_quote.rb +12 -8
- data/lib/rdoc/markup/document.rb +127 -123
- data/lib/rdoc/markup/formatter.rb +219 -215
- data/lib/rdoc/markup/include.rb +33 -29
- data/lib/rdoc/markup/indented_paragraph.rb +37 -33
- data/lib/rdoc/markup/inline_parser.rb +281 -277
- data/lib/rdoc/markup/list.rb +80 -88
- data/lib/rdoc/markup/list_item.rb +73 -85
- data/lib/rdoc/markup/paragraph.rb +23 -19
- data/lib/rdoc/markup/parser.rb +501 -497
- data/lib/rdoc/markup/pre_process.rb +283 -279
- data/lib/rdoc/markup/raw.rb +2 -2
- data/lib/rdoc/markup/rule.rb +16 -12
- data/lib/rdoc/markup/to_ansi.rb +143 -139
- data/lib/rdoc/markup/to_bs.rb +72 -68
- data/lib/rdoc/markup/to_html.rb +594 -565
- data/lib/rdoc/markup/to_html_crossref.rb +234 -230
- data/lib/rdoc/markup/to_html_snippet.rb +232 -227
- data/lib/rdoc/markup/to_joined_paragraph.rb +36 -32
- data/lib/rdoc/markup/to_label.rb +63 -59
- data/lib/rdoc/markup/to_markdown.rb +212 -208
- data/lib/rdoc/markup/to_rdoc.rb +336 -332
- data/lib/rdoc/markup/to_table_of_contents.rb +66 -62
- data/lib/rdoc/markup/to_test.rb +60 -56
- data/lib/rdoc/markup/to_tt_only.rb +84 -80
- data/lib/rdoc/markup/verbatim.rb +62 -58
- data/lib/rdoc/markup.rb +198 -196
- data/lib/rdoc/options.rb +1063 -1061
- data/lib/rdoc/parser/c.rb +1039 -1037
- data/lib/rdoc/parser/changelog.rb +319 -315
- data/lib/rdoc/parser/markdown.rb +17 -13
- data/lib/rdoc/parser/rbs.rb +239 -235
- data/lib/rdoc/parser/rd.rb +17 -13
- data/lib/rdoc/parser/ruby.rb +1245 -1124
- data/lib/rdoc/parser/ruby_colorizer.rb +263 -213
- data/lib/rdoc/parser/simple.rb +31 -27
- data/lib/rdoc/parser/text.rb +12 -8
- data/lib/rdoc/parser.rb +228 -220
- data/lib/rdoc/rbs_helper.rb +1 -1
- data/lib/rdoc/rd/inline.rb +57 -53
- data/lib/rdoc/rd.rb +90 -88
- data/lib/rdoc/rdoc.rb +500 -491
- data/lib/rdoc/ri/driver.rb +1140 -1135
- data/lib/rdoc/ri/formatter.rb +7 -3
- data/lib/rdoc/ri/paths.rb +140 -136
- data/lib/rdoc/ri/servlet.rb +354 -350
- data/lib/rdoc/ri/store.rb +4 -2
- data/lib/rdoc/ri/task.rb +55 -51
- data/lib/rdoc/ri.rb +14 -12
- data/lib/rdoc/rubygems_hook.rb +183 -181
- data/lib/rdoc/server.rb +349 -347
- data/lib/rdoc/stats/normal.rb +46 -42
- data/lib/rdoc/stats/quiet.rb +39 -35
- data/lib/rdoc/stats/verbose.rb +35 -31
- data/lib/rdoc/stats.rb +365 -363
- data/lib/rdoc/store.rb +888 -902
- data/lib/rdoc/task.rb +260 -256
- data/lib/rdoc/text.rb +135 -133
- data/lib/rdoc/token_stream.rb +101 -93
- data/lib/rdoc/tom_doc.rb +203 -201
- data/lib/rdoc/version.rb +1 -1
- metadata +4 -5
- data/lib/rdoc/markdown/literals.kpeg +0 -21
- data/lib/rdoc/markdown/literals.rb +0 -454
|
@@ -1,178 +1,180 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# \#
|
|
2
|
+
module RDoc
|
|
3
|
+
##
|
|
4
|
+
# An attribute created by \#attr, \#attr_reader, \#attr_writer or
|
|
5
|
+
# \#attr_accessor
|
|
5
6
|
|
|
6
|
-
class
|
|
7
|
+
class Attr < ::RDoc::MethodAttr
|
|
7
8
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
9
|
+
##
|
|
10
|
+
# 3::
|
|
11
|
+
# RDoc 4
|
|
12
|
+
# Added parent name and class
|
|
13
|
+
# Added section title
|
|
14
|
+
# 4::
|
|
15
|
+
# Added type_signature_lines (serialized as joined string)
|
|
15
16
|
|
|
16
|
-
|
|
17
|
+
MARSHAL_VERSION = 4 # :nodoc:
|
|
17
18
|
|
|
18
|
-
|
|
19
|
-
|
|
19
|
+
##
|
|
20
|
+
# Is the attribute readable ('R'), writable ('W') or both ('RW')?
|
|
20
21
|
|
|
21
|
-
|
|
22
|
+
attr_accessor :rw
|
|
22
23
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
##
|
|
25
|
+
# Creates a new Attr with +name+, read/write status +rw+ and
|
|
26
|
+
# +comment+. +singleton+ marks this as a class attribute.
|
|
26
27
|
|
|
27
|
-
|
|
28
|
-
|
|
28
|
+
def initialize(name, rw, comment, singleton: false)
|
|
29
|
+
super(name, singleton: singleton)
|
|
29
30
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
31
|
+
@rw = rw
|
|
32
|
+
self.comment = comment
|
|
33
|
+
end
|
|
33
34
|
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
##
|
|
36
|
+
# Attributes are equal when their names, singleton and rw are identical
|
|
36
37
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
38
|
+
def ==(other)
|
|
39
|
+
self.class == other.class and
|
|
40
|
+
self.name == other.name and
|
|
41
|
+
self.rw == other.rw and
|
|
42
|
+
self.singleton == other.singleton
|
|
43
|
+
end
|
|
43
44
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
45
|
+
##
|
|
46
|
+
# Add +an_alias+ as an attribute in +context+.
|
|
47
|
+
|
|
48
|
+
def add_alias(an_alias, context)
|
|
49
|
+
access_type = an_alias.new_name.end_with?('=') ? 'W' : 'R'
|
|
50
|
+
new_attr = self.class.new(an_alias.new_name, access_type, comment, singleton: singleton)
|
|
51
|
+
new_attr.record_location an_alias.file
|
|
52
|
+
new_attr.visibility = self.visibility
|
|
53
|
+
new_attr.is_alias_for = self
|
|
54
|
+
new_attr.type_signature_lines = self.type_signature_lines
|
|
55
|
+
@aliases << new_attr
|
|
56
|
+
context.add_attribute new_attr
|
|
57
|
+
new_attr
|
|
58
|
+
end
|
|
58
59
|
|
|
59
|
-
|
|
60
|
-
|
|
60
|
+
##
|
|
61
|
+
# The #aref prefix for attributes
|
|
61
62
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
63
|
+
def aref_prefix
|
|
64
|
+
'attribute'
|
|
65
|
+
end
|
|
65
66
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
67
|
+
##
|
|
68
|
+
# Attributes never call super. See RDoc::AnyMethod#calls_super
|
|
69
|
+
#
|
|
70
|
+
# An RDoc::Attr can show up in the method list in some situations (see
|
|
71
|
+
# Gem::ConfigFile)
|
|
71
72
|
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
def calls_super # :nodoc:
|
|
74
|
+
false
|
|
75
|
+
end
|
|
75
76
|
|
|
76
|
-
|
|
77
|
-
|
|
77
|
+
##
|
|
78
|
+
# Returns attr_reader, attr_writer or attr_accessor as appropriate.
|
|
78
79
|
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
80
|
+
def definition
|
|
81
|
+
case @rw
|
|
82
|
+
when 'RW' then 'attr_accessor'
|
|
83
|
+
when 'R' then 'attr_reader'
|
|
84
|
+
when 'W' then 'attr_writer'
|
|
85
|
+
end
|
|
84
86
|
end
|
|
85
|
-
end
|
|
86
87
|
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
88
|
+
def inspect # :nodoc:
|
|
89
|
+
alias_for = @is_alias_for ? " (alias for #{@is_alias_for.name})" : nil
|
|
90
|
+
visibility = self.visibility
|
|
91
|
+
visibility = "forced #{visibility}" if force_documentation
|
|
92
|
+
"#<%s:0x%x %s %s (%s)%s>" % [
|
|
93
|
+
self.class, object_id,
|
|
94
|
+
full_name,
|
|
95
|
+
rw,
|
|
96
|
+
visibility,
|
|
97
|
+
alias_for,
|
|
98
|
+
]
|
|
99
|
+
end
|
|
99
100
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
101
|
+
##
|
|
102
|
+
# Dumps this Attr for use by ri. See also #marshal_load
|
|
103
|
+
|
|
104
|
+
def marshal_dump
|
|
105
|
+
[ MARSHAL_VERSION,
|
|
106
|
+
@name,
|
|
107
|
+
full_name,
|
|
108
|
+
@rw,
|
|
109
|
+
@visibility,
|
|
110
|
+
parse(@comment),
|
|
111
|
+
singleton,
|
|
112
|
+
@file.relative_name,
|
|
113
|
+
@parent.full_name,
|
|
114
|
+
@parent.class,
|
|
115
|
+
@section.title,
|
|
116
|
+
@type_signature_lines&.join("\n"),
|
|
117
|
+
]
|
|
118
|
+
end
|
|
118
119
|
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
120
|
+
##
|
|
121
|
+
# Loads this Attr from +array+. For a loaded Attr the following
|
|
122
|
+
# methods will return cached values:
|
|
123
|
+
#
|
|
124
|
+
# * #full_name
|
|
125
|
+
# * #parent_name
|
|
126
|
+
|
|
127
|
+
def marshal_load(array)
|
|
128
|
+
initialize_visibility
|
|
129
|
+
|
|
130
|
+
@aliases = []
|
|
131
|
+
@parent = nil
|
|
132
|
+
@parent_name = nil
|
|
133
|
+
@parent_class = nil
|
|
134
|
+
@section = nil
|
|
135
|
+
@file = nil
|
|
136
|
+
|
|
137
|
+
version = array[0]
|
|
138
|
+
@name = array[1]
|
|
139
|
+
@full_name = array[2]
|
|
140
|
+
@rw = array[3]
|
|
141
|
+
@visibility = array[4] || :public
|
|
142
|
+
@comment = Comment.from_document array[5]
|
|
143
|
+
@singleton = array[6] || false # MARSHAL_VERSION == 0
|
|
144
|
+
# 7 handled below
|
|
145
|
+
@parent_name = array[8]
|
|
146
|
+
@parent_class = array[9]
|
|
147
|
+
@section_title = array[10]
|
|
148
|
+
@type_signature_lines = array[11]&.split("\n")
|
|
149
|
+
|
|
150
|
+
@file = TopLevel.new array[7] if version > 1
|
|
151
|
+
|
|
152
|
+
@parent_name ||= @full_name.split('#', 2).first
|
|
153
|
+
end
|
|
153
154
|
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
155
|
+
def pretty_print(q) # :nodoc:
|
|
156
|
+
q.group 2, "[#{self.class.name} #{full_name} #{rw} #{visibility}", "]" do
|
|
157
|
+
unless comment.empty?
|
|
158
|
+
q.breakable
|
|
159
|
+
q.text "comment:"
|
|
160
|
+
q.breakable
|
|
161
|
+
q.pp @comment
|
|
162
|
+
end
|
|
161
163
|
end
|
|
162
164
|
end
|
|
163
|
-
end
|
|
164
165
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
166
|
+
def to_s # :nodoc:
|
|
167
|
+
"#{definition} #{name} in: #{parent}"
|
|
168
|
+
end
|
|
168
169
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
170
|
+
##
|
|
171
|
+
# Attributes do not have token streams.
|
|
172
|
+
#
|
|
173
|
+
# An RDoc::Attr can show up in the method list in some situations (see
|
|
174
|
+
# Gem::ConfigFile)
|
|
174
175
|
|
|
175
|
-
|
|
176
|
-
|
|
176
|
+
def token_stream # :nodoc:
|
|
177
|
+
end
|
|
177
178
|
|
|
179
|
+
end
|
|
178
180
|
end
|