rdoc 6.3.3 → 6.4.0
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of rdoc might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/Gemfile +6 -6
- data/Rakefile +6 -0
- data/lib/rdoc/any_method.rb +4 -1
- data/lib/rdoc/cross_reference.rb +28 -20
- data/lib/rdoc/generator/darkfish.rb +2 -2
- data/lib/rdoc/generator/template/darkfish/_head.rhtml +1 -3
- data/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Bold.ttf +0 -0
- data/lib/rdoc/generator/template/darkfish/fonts/SourceCodePro-Regular.ttf +0 -0
- data/lib/rdoc/markup/pre_process.rb +2 -0
- data/lib/rdoc/markup/to_html.rb +2 -2
- data/lib/rdoc/options.rb +30 -1
- data/lib/rdoc/parser/c.rb +21 -9
- data/lib/rdoc/parser/ruby.rb +18 -0
- data/lib/rdoc/rdoc.rb +2 -30
- data/lib/rdoc/ri/driver.rb +11 -4
- data/lib/rdoc/rubygems_hook.rb +3 -1
- data/lib/rdoc/text.rb +12 -4
- data/lib/rdoc/version.rb +1 -1
- data/rdoc.gemspec +2 -2
- metadata +8 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d6c9787594ed9d69a7a9177e449d925063acbc6ace0273f7d0b1fc9ca6a31139
|
4
|
+
data.tar.gz: 5f5afd10a18a1aeabc8319350c191eeaa137e5f715a2e95cbf2443f5dca7f96c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 94fbc007d81c0cc1774b44d5f174b5e011ef5ae3d998344b981a8b6170f1c630c3c80e45f87bcc4c05f97f51e34e9f3ede791846e0c01e4015c45cc8aab1b05e
|
7
|
+
data.tar.gz: '068da922a56b61ca85fa7b61d5554cdbe1533c30caae11e7d81894e41fca58157971c18a76c55391538324c168a720c2cbbc8150a12dc276eab033e70fae0217'
|
data/Gemfile
CHANGED
@@ -3,10 +3,10 @@ source 'https://rubygems.org'
|
|
3
3
|
gemspec
|
4
4
|
|
5
5
|
group :development do
|
6
|
-
gem
|
7
|
-
gem
|
8
|
-
gem
|
9
|
-
gem
|
10
|
-
gem
|
11
|
-
gem
|
6
|
+
gem 'rake'
|
7
|
+
gem 'racc', '> 1.4.10'
|
8
|
+
gem 'kpeg', github: 'evanphx/kpeg'
|
9
|
+
gem 'test-unit'
|
10
|
+
gem 'rubocop'
|
11
|
+
gem 'gettext'
|
12
12
|
end
|
data/Rakefile
CHANGED
@@ -90,6 +90,12 @@ task "#{path}.gem" => package_parser_files
|
|
90
90
|
desc "Generate all files used racc and kpeg"
|
91
91
|
task :generate => parsed_files
|
92
92
|
|
93
|
+
task :clean do
|
94
|
+
parsed_files.each do |path|
|
95
|
+
File.delete(path) if File.exist?(path)
|
96
|
+
end
|
97
|
+
end
|
98
|
+
|
93
99
|
begin
|
94
100
|
require 'rubocop/rake_task'
|
95
101
|
rescue LoadError
|
data/lib/rdoc/any_method.rb
CHANGED
@@ -26,6 +26,9 @@ class RDoc::AnyMethod < RDoc::MethodAttr
|
|
26
26
|
|
27
27
|
attr_accessor :c_function
|
28
28
|
|
29
|
+
# The section title of the method (if defined in a C file via +:category:+)
|
30
|
+
attr_accessor :section_title
|
31
|
+
|
29
32
|
# Parameters for this method
|
30
33
|
|
31
34
|
attr_accessor :params
|
@@ -356,6 +359,6 @@ class RDoc::AnyMethod < RDoc::MethodAttr
|
|
356
359
|
entry =~ /\s#{ignore}\s/
|
357
360
|
end
|
358
361
|
|
359
|
-
matching.join
|
362
|
+
matching.empty? ? nil : matching.join("\n")
|
360
363
|
end
|
361
364
|
end
|
data/lib/rdoc/cross_reference.rb
CHANGED
@@ -19,7 +19,7 @@ class RDoc::CrossReference
|
|
19
19
|
#
|
20
20
|
# See CLASS_REGEXP_STR
|
21
21
|
|
22
|
-
METHOD_REGEXP_STR = '([
|
22
|
+
METHOD_REGEXP_STR = '([A-Za-z]\w*[!?=]?|%|===?|\[\]=?|<<|>>|\+@|-@|-|\+|\*)(?:\([\w.+*/=<>-]*\))?'
|
23
23
|
|
24
24
|
##
|
25
25
|
# Regular expressions matching text that should potentially have
|
@@ -34,12 +34,6 @@ class RDoc::CrossReference
|
|
34
34
|
# A::B::C.meth
|
35
35
|
#{CLASS_REGEXP_STR}(?:[.#]|::)#{METHOD_REGEXP_STR}
|
36
36
|
|
37
|
-
# Stand-alone method (preceded by a #)
|
38
|
-
| \\?\##{METHOD_REGEXP_STR}
|
39
|
-
|
40
|
-
# Stand-alone method (preceded by ::)
|
41
|
-
| ::#{METHOD_REGEXP_STR}
|
42
|
-
|
43
37
|
# A::B::C
|
44
38
|
# The stuff after CLASS_REGEXP_STR is a
|
45
39
|
# nasty hack. CLASS_REGEXP_STR unfortunately matches
|
@@ -56,6 +50,12 @@ class RDoc::CrossReference
|
|
56
50
|
# marker.
|
57
51
|
| #{CLASS_REGEXP_STR}(?=[@\s).?!,;<\000]|\z)
|
58
52
|
|
53
|
+
# Stand-alone method (preceded by a #)
|
54
|
+
| \\?\##{METHOD_REGEXP_STR}
|
55
|
+
|
56
|
+
# Stand-alone method (preceded by ::)
|
57
|
+
| ::#{METHOD_REGEXP_STR}
|
58
|
+
|
59
59
|
# Things that look like filenames
|
60
60
|
# The key thing is that there must be at least
|
61
61
|
# one special character (period, slash, or
|
@@ -82,12 +82,12 @@ class RDoc::CrossReference
|
|
82
82
|
# A::B::C.meth
|
83
83
|
#{CLASS_REGEXP_STR}(?:[.#]|::)#{METHOD_REGEXP_STR}
|
84
84
|
|
85
|
-
# Stand-alone method
|
86
|
-
| \\?#{METHOD_REGEXP_STR}
|
87
|
-
|
88
85
|
# A::B::C
|
89
86
|
| #{CLASS_REGEXP_STR}(?=[@\s).?!,;<\000]|\z)
|
90
87
|
|
88
|
+
# Stand-alone method
|
89
|
+
| \\?#{METHOD_REGEXP_STR}
|
90
|
+
|
91
91
|
# Things that look like filenames
|
92
92
|
| (?:\.\.\/)*[-\/\w]+[_\/.][-\w\/.]+
|
93
93
|
|
@@ -115,15 +115,8 @@ class RDoc::CrossReference
|
|
115
115
|
@seen = {}
|
116
116
|
end
|
117
117
|
|
118
|
-
|
119
|
-
|
120
|
-
#
|
121
|
-
# If the reference is found and +name+ is not documented +text+ will be
|
122
|
-
# returned. If +name+ is escaped +name+ is returned. If +name+ is not
|
123
|
-
# found +text+ is returned.
|
124
|
-
|
125
|
-
def resolve name, text
|
126
|
-
return @seen[name] if @seen.include? name
|
118
|
+
def resolve_method name
|
119
|
+
ref = nil
|
127
120
|
|
128
121
|
if /#{CLASS_REGEXP_STR}([.#]|::)#{METHOD_REGEXP_STR}/o =~ name then
|
129
122
|
type = $2
|
@@ -165,12 +158,27 @@ class RDoc::CrossReference
|
|
165
158
|
end
|
166
159
|
end
|
167
160
|
|
161
|
+
ref
|
162
|
+
end
|
163
|
+
|
164
|
+
##
|
165
|
+
# Returns a reference to +name+.
|
166
|
+
#
|
167
|
+
# If the reference is found and +name+ is not documented +text+ will be
|
168
|
+
# returned. If +name+ is escaped +name+ is returned. If +name+ is not
|
169
|
+
# found +text+ is returned.
|
170
|
+
|
171
|
+
def resolve name, text
|
172
|
+
return @seen[name] if @seen.include? name
|
173
|
+
|
168
174
|
ref = case name
|
169
175
|
when /^\\(#{CLASS_REGEXP_STR})$/o then
|
170
176
|
@context.find_symbol $1
|
171
177
|
else
|
172
178
|
@context.find_symbol name
|
173
|
-
end
|
179
|
+
end
|
180
|
+
|
181
|
+
ref = resolve_method name unless ref
|
174
182
|
|
175
183
|
# Try a page name
|
176
184
|
ref = @store.page name if not ref and name =~ /^[\w.]+$/
|
@@ -220,8 +220,8 @@ class RDoc::Generator::Darkfish
|
|
220
220
|
install_rdoc_static_file @template_dir + item, "./#{item}", options
|
221
221
|
end
|
222
222
|
|
223
|
-
@options.template_stylesheets.
|
224
|
-
FileUtils.cp
|
223
|
+
unless @options.template_stylesheets.empty?
|
224
|
+
FileUtils.cp @options.template_stylesheets, '.', **options
|
225
225
|
end
|
226
226
|
|
227
227
|
Dir[(@template_dir + "{js,images}/**/*").to_s].each do |path|
|
@@ -15,8 +15,6 @@
|
|
15
15
|
|
16
16
|
<link href="<%= asset_rel_prefix %>/css/fonts.css" rel="stylesheet">
|
17
17
|
<link href="<%= asset_rel_prefix %>/css/rdoc.css" rel="stylesheet">
|
18
|
-
<%-
|
19
|
-
<%- @options.template_stylesheets.flatten.each do |stylesheet| -%>
|
18
|
+
<%- @options.template_stylesheets.each do |stylesheet| -%>
|
20
19
|
<link href="<%= asset_rel_prefix %>/<%= File.basename stylesheet %>" rel="stylesheet">
|
21
|
-
<%- end -%>
|
22
20
|
<%- end -%>
|
Binary file
|
Binary file
|
@@ -163,6 +163,8 @@ class RDoc::Markup::PreProcess
|
|
163
163
|
if RDoc::Context === code_object then
|
164
164
|
section = code_object.add_section param
|
165
165
|
code_object.temporary_section = section
|
166
|
+
elsif RDoc::AnyMethod === code_object then
|
167
|
+
code_object.section_title = param
|
166
168
|
end
|
167
169
|
|
168
170
|
blankline # ignore category if we're not on an RDoc::Context
|
data/lib/rdoc/markup/to_html.rb
CHANGED
@@ -357,8 +357,8 @@ class RDoc::Markup::ToHtml < RDoc::Markup::Formatter
|
|
357
357
|
url =~ /\.(gif|png|jpg|jpeg|bmp)$/ then
|
358
358
|
"<img src=\"#{url}\" />"
|
359
359
|
else
|
360
|
-
if scheme != 'link' and
|
361
|
-
url =
|
360
|
+
if scheme != 'link' and %r%\A((?!https?:)(?:[^/#]*/)*+)([^/#]+)\.(rb|rdoc|md)(?=\z|#)%i =~ url
|
361
|
+
url = "#$1#{$2.tr('.', '_')}_#$3.html#$'"
|
362
362
|
end
|
363
363
|
|
364
364
|
text = text.sub %r%^#{scheme}:/*%i, ''
|
data/lib/rdoc/options.rb
CHANGED
@@ -971,7 +971,7 @@ Usage: #{opt.program_name} [options] [names...]
|
|
971
971
|
opt.on("--template-stylesheets=FILES", PathArray,
|
972
972
|
"Set (or add to) the list of files to",
|
973
973
|
"include with the html template.") do |value|
|
974
|
-
@template_stylesheets
|
974
|
+
@template_stylesheets.concat value
|
975
975
|
end
|
976
976
|
|
977
977
|
opt.separator nil
|
@@ -1282,4 +1282,33 @@ Usage: #{opt.program_name} [options] [names...]
|
|
1282
1282
|
end
|
1283
1283
|
end
|
1284
1284
|
|
1285
|
+
##
|
1286
|
+
# Loads options from .rdoc_options if the file exists, otherwise creates a
|
1287
|
+
# new RDoc::Options instance.
|
1288
|
+
|
1289
|
+
def self.load_options
|
1290
|
+
options_file = File.expand_path '.rdoc_options'
|
1291
|
+
return RDoc::Options.new unless File.exist? options_file
|
1292
|
+
|
1293
|
+
RDoc.load_yaml
|
1294
|
+
|
1295
|
+
begin
|
1296
|
+
options = YAML.safe_load File.read('.rdoc_options'), permitted_classes: [RDoc::Options, Symbol]
|
1297
|
+
rescue Psych::SyntaxError
|
1298
|
+
raise RDoc::Error, "#{options_file} is not a valid rdoc options file"
|
1299
|
+
end
|
1300
|
+
|
1301
|
+
return RDoc::Options.new unless options # Allow empty file.
|
1302
|
+
|
1303
|
+
raise RDoc::Error, "#{options_file} is not a valid rdoc options file" unless
|
1304
|
+
RDoc::Options === options or Hash === options
|
1305
|
+
|
1306
|
+
if Hash === options
|
1307
|
+
# Override the default values with the contents of YAML file.
|
1308
|
+
options = RDoc::Options.new options
|
1309
|
+
end
|
1310
|
+
|
1311
|
+
options
|
1312
|
+
end
|
1313
|
+
|
1285
1314
|
end
|
data/lib/rdoc/parser/c.rb
CHANGED
@@ -173,6 +173,8 @@ class RDoc::Parser::C < RDoc::Parser
|
|
173
173
|
@classes = load_variable_map :c_class_variables
|
174
174
|
@singleton_classes = load_variable_map :c_singleton_class_variables
|
175
175
|
|
176
|
+
@markup = @options.markup
|
177
|
+
|
176
178
|
# class_variable => { function => [method, ...] }
|
177
179
|
@methods = Hash.new { |h, f| h[f] = Hash.new { |i, m| i[m] = [] } }
|
178
180
|
|
@@ -439,7 +441,7 @@ class RDoc::Parser::C < RDoc::Parser
|
|
439
441
|
next unless cls = @classes[c]
|
440
442
|
m = @known_classes[m] || m
|
441
443
|
|
442
|
-
comment =
|
444
|
+
comment = new_comment '', @top_level, :c
|
443
445
|
incl = cls.add_include RDoc::Include.new(m, comment)
|
444
446
|
incl.record_location @top_level
|
445
447
|
end
|
@@ -521,7 +523,7 @@ class RDoc::Parser::C < RDoc::Parser
|
|
521
523
|
\s*"#{Regexp.escape new_name}"\s*,
|
522
524
|
\s*"#{Regexp.escape old_name}"\s*\);%xm
|
523
525
|
|
524
|
-
|
526
|
+
new_comment($1 || '', @top_level, :c)
|
525
527
|
end
|
526
528
|
|
527
529
|
##
|
@@ -560,7 +562,7 @@ class RDoc::Parser::C < RDoc::Parser
|
|
560
562
|
''
|
561
563
|
end
|
562
564
|
|
563
|
-
|
565
|
+
new_comment comment, @top_level, :c
|
564
566
|
end
|
565
567
|
|
566
568
|
##
|
@@ -600,7 +602,7 @@ class RDoc::Parser::C < RDoc::Parser
|
|
600
602
|
|
601
603
|
case type
|
602
604
|
when :func_def
|
603
|
-
comment =
|
605
|
+
comment = new_comment args[0], @top_level, :c
|
604
606
|
body = args[1]
|
605
607
|
offset, = args[2]
|
606
608
|
|
@@ -630,7 +632,7 @@ class RDoc::Parser::C < RDoc::Parser
|
|
630
632
|
|
631
633
|
body
|
632
634
|
when :macro_def
|
633
|
-
comment =
|
635
|
+
comment = new_comment args[0], @top_level, :c
|
634
636
|
body = args[1]
|
635
637
|
offset, = args[2]
|
636
638
|
|
@@ -737,7 +739,7 @@ class RDoc::Parser::C < RDoc::Parser
|
|
737
739
|
comment = ''
|
738
740
|
end
|
739
741
|
|
740
|
-
comment =
|
742
|
+
comment = new_comment comment, @top_level, :c
|
741
743
|
comment.normalize
|
742
744
|
|
743
745
|
look_for_directives_in class_mod, comment
|
@@ -782,7 +784,7 @@ class RDoc::Parser::C < RDoc::Parser
|
|
782
784
|
table[const_name] ||
|
783
785
|
''
|
784
786
|
|
785
|
-
|
787
|
+
new_comment comment, @top_level, :c
|
786
788
|
end
|
787
789
|
|
788
790
|
##
|
@@ -813,7 +815,7 @@ class RDoc::Parser::C < RDoc::Parser
|
|
813
815
|
|
814
816
|
return unless comment
|
815
817
|
|
816
|
-
|
818
|
+
new_comment comment, @top_level, :c
|
817
819
|
end
|
818
820
|
|
819
821
|
##
|
@@ -947,7 +949,7 @@ class RDoc::Parser::C < RDoc::Parser
|
|
947
949
|
|
948
950
|
new_comment = "#{$1}#{new_comment.lstrip}"
|
949
951
|
|
950
|
-
new_comment =
|
952
|
+
new_comment = self.new_comment(new_comment, @top_level, :c)
|
951
953
|
|
952
954
|
con = RDoc::Constant.new const_name, new_definition, new_comment
|
953
955
|
else
|
@@ -1028,7 +1030,12 @@ class RDoc::Parser::C < RDoc::Parser
|
|
1028
1030
|
|
1029
1031
|
|
1030
1032
|
meth_obj.record_location @top_level
|
1033
|
+
|
1034
|
+
if meth_obj.section_title
|
1035
|
+
class_obj.temporary_section = class_obj.add_section(meth_obj.section_title)
|
1036
|
+
end
|
1031
1037
|
class_obj.add_method meth_obj
|
1038
|
+
|
1032
1039
|
@stats.add_method meth_obj
|
1033
1040
|
meth_obj.visibility = :private if 'private_method' == type
|
1034
1041
|
end
|
@@ -1222,4 +1229,9 @@ class RDoc::Parser::C < RDoc::Parser
|
|
1222
1229
|
@top_level
|
1223
1230
|
end
|
1224
1231
|
|
1232
|
+
def new_comment text = nil, location = nil, language = nil
|
1233
|
+
RDoc::Comment.new(text, location, language).tap do |comment|
|
1234
|
+
comment.format = @markup
|
1235
|
+
end
|
1236
|
+
end
|
1225
1237
|
end
|
data/lib/rdoc/parser/ruby.rb
CHANGED
@@ -1193,6 +1193,22 @@ class RDoc::Parser::Ruby < RDoc::Parser
|
|
1193
1193
|
end
|
1194
1194
|
end
|
1195
1195
|
|
1196
|
+
##
|
1197
|
+
# Parses an +included+ with a block feature of ActiveSupport::Concern.
|
1198
|
+
|
1199
|
+
def parse_included_with_activesupport_concern container, comment # :nodoc:
|
1200
|
+
skip_tkspace_without_nl
|
1201
|
+
tk = get_tk
|
1202
|
+
unless tk[:kind] == :on_lbracket || (tk[:kind] == :on_kw && tk[:text] == 'do')
|
1203
|
+
unget_tk tk
|
1204
|
+
return nil # should be a block
|
1205
|
+
end
|
1206
|
+
|
1207
|
+
parse_statements container
|
1208
|
+
|
1209
|
+
container
|
1210
|
+
end
|
1211
|
+
|
1196
1212
|
##
|
1197
1213
|
# Parses identifiers that can create new methods or change visibility.
|
1198
1214
|
#
|
@@ -1893,6 +1909,8 @@ class RDoc::Parser::Ruby < RDoc::Parser
|
|
1893
1909
|
parse_extend_or_include RDoc::Include, container, comment
|
1894
1910
|
when "extend" then
|
1895
1911
|
parse_extend_or_include RDoc::Extend, container, comment
|
1912
|
+
when "included" then
|
1913
|
+
parse_included_with_activesupport_concern container, comment
|
1896
1914
|
end
|
1897
1915
|
|
1898
1916
|
else
|
data/lib/rdoc/rdoc.rb
CHANGED
@@ -14,7 +14,7 @@ require 'time'
|
|
14
14
|
# is:
|
15
15
|
#
|
16
16
|
# rdoc = RDoc::RDoc.new
|
17
|
-
# options =
|
17
|
+
# options = RDoc::Options.load_options # returns an RDoc::Options instance
|
18
18
|
# # set extra options
|
19
19
|
# rdoc.document options
|
20
20
|
#
|
@@ -151,34 +151,6 @@ class RDoc::RDoc
|
|
151
151
|
end
|
152
152
|
end
|
153
153
|
|
154
|
-
##
|
155
|
-
# Loads options from .rdoc_options if the file exists, otherwise creates a
|
156
|
-
# new RDoc::Options instance.
|
157
|
-
|
158
|
-
def load_options
|
159
|
-
options_file = File.expand_path '.rdoc_options'
|
160
|
-
return RDoc::Options.new unless File.exist? options_file
|
161
|
-
|
162
|
-
RDoc.load_yaml
|
163
|
-
|
164
|
-
begin
|
165
|
-
options = YAML.load_file '.rdoc_options'
|
166
|
-
rescue Psych::SyntaxError
|
167
|
-
end
|
168
|
-
|
169
|
-
return RDoc::Options.new if options == false # Allow empty file.
|
170
|
-
|
171
|
-
raise RDoc::Error, "#{options_file} is not a valid rdoc options file" unless
|
172
|
-
RDoc::Options === options or Hash === options
|
173
|
-
|
174
|
-
if Hash === options
|
175
|
-
# Override the default values with the contents of YAML file.
|
176
|
-
options = RDoc::Options.new options
|
177
|
-
end
|
178
|
-
|
179
|
-
options
|
180
|
-
end
|
181
|
-
|
182
154
|
##
|
183
155
|
# Create an output dir if it doesn't exist. If it does exist, but doesn't
|
184
156
|
# contain the flag file <tt>created.rid</tt> then we refuse to use it, as
|
@@ -470,7 +442,7 @@ The internal error was:
|
|
470
442
|
@options = options
|
471
443
|
@options.finish
|
472
444
|
else
|
473
|
-
@options = load_options
|
445
|
+
@options = RDoc::Options.load_options
|
474
446
|
@options.parse options
|
475
447
|
end
|
476
448
|
|
data/lib/rdoc/ri/driver.rb
CHANGED
@@ -142,6 +142,8 @@ Where name can be:
|
|
142
142
|
|
143
143
|
gem_name: | gem_name:README | gem_name:History
|
144
144
|
|
145
|
+
ruby: | ruby:NEWS | ruby:globals
|
146
|
+
|
145
147
|
All class names may be abbreviated to their minimum unambiguous form.
|
146
148
|
If a name is ambiguous, all valid options will be listed.
|
147
149
|
|
@@ -153,6 +155,10 @@ they're contained in. If the gem name is followed by a ':' all files in the
|
|
153
155
|
gem will be shown. The file name extension may be omitted where it is
|
154
156
|
unambiguous.
|
155
157
|
|
158
|
+
'ruby' can be used as a pseudo gem name to display files from the Ruby
|
159
|
+
core documentation. Use 'ruby:' by itself to get a list of all available
|
160
|
+
core documentation files.
|
161
|
+
|
156
162
|
For example:
|
157
163
|
|
158
164
|
#{opt.program_name} Fil
|
@@ -160,6 +166,7 @@ For example:
|
|
160
166
|
#{opt.program_name} File.new
|
161
167
|
#{opt.program_name} zip
|
162
168
|
#{opt.program_name} rdoc:README
|
169
|
+
#{opt.program_name} ruby:comments
|
163
170
|
|
164
171
|
Note that shell quoting or escaping may be required for method names
|
165
172
|
containing punctuation:
|
@@ -609,11 +616,11 @@ or the PAGER environment variable.
|
|
609
616
|
|
610
617
|
stores = classes[current]
|
611
618
|
|
612
|
-
|
619
|
+
next unless stores and not stores.empty?
|
613
620
|
|
614
|
-
klasses = stores.
|
615
|
-
store.ancestors[current]
|
616
|
-
end.
|
621
|
+
klasses = stores.flat_map do |store|
|
622
|
+
store.ancestors[current] || []
|
623
|
+
end.uniq
|
617
624
|
|
618
625
|
klasses = klasses - seen
|
619
626
|
|
data/lib/rdoc/rubygems_hook.rb
CHANGED
@@ -120,7 +120,9 @@ class RDoc::RubygemsHook
|
|
120
120
|
options.exclude ||= [] # TODO maybe move to RDoc::Options#finish
|
121
121
|
options.setup_generator generator
|
122
122
|
options.op_dir = destination
|
123
|
-
|
123
|
+
Dir.chdir @spec.full_gem_path do
|
124
|
+
options.finish
|
125
|
+
end
|
124
126
|
|
125
127
|
generator = options.generator.new @rdoc.store, options
|
126
128
|
|
data/lib/rdoc/text.rb
CHANGED
@@ -218,10 +218,10 @@ module RDoc::Text
|
|
218
218
|
when s.scan(/\.\.\.(\.?)/) then
|
219
219
|
html << s[1] << encoded[:ellipsis]
|
220
220
|
after_word = nil
|
221
|
-
when s.scan(/\(c\)/) then
|
221
|
+
when s.scan(/\(c\)/i) then
|
222
222
|
html << encoded[:copyright]
|
223
223
|
after_word = nil
|
224
|
-
when s.scan(/\(r\)/) then
|
224
|
+
when s.scan(/\(r\)/i) then
|
225
225
|
html << encoded[:trademark]
|
226
226
|
after_word = nil
|
227
227
|
when s.scan(/---/) then
|
@@ -237,10 +237,18 @@ module RDoc::Text
|
|
237
237
|
when s.scan(/``/) then # backtick double quote
|
238
238
|
html << encoded[:open_dquote]
|
239
239
|
after_word = nil
|
240
|
-
when s.scan(/'
|
240
|
+
when s.scan(/(?:'|'){2}/) then # tick double quote
|
241
241
|
html << encoded[:close_dquote]
|
242
242
|
after_word = nil
|
243
|
-
when s.scan(
|
243
|
+
when s.scan(/`/) then # backtick
|
244
|
+
if insquotes or after_word
|
245
|
+
html << '`'
|
246
|
+
after_word = false
|
247
|
+
else
|
248
|
+
html << encoded[:open_squote]
|
249
|
+
insquotes = true
|
250
|
+
end
|
251
|
+
when s.scan(/'|'/) then # single quote
|
244
252
|
if insquotes
|
245
253
|
html << encoded[:close_squote]
|
246
254
|
insquotes = false
|
data/lib/rdoc/version.rb
CHANGED
data/rdoc.gemspec
CHANGED
@@ -242,8 +242,8 @@ RDoc includes the +rdoc+ and +ri+ tools for generating and displaying documentat
|
|
242
242
|
TODO.rdoc
|
243
243
|
]
|
244
244
|
|
245
|
-
s.required_ruby_version = Gem::Requirement.new(">= 2.
|
245
|
+
s.required_ruby_version = Gem::Requirement.new(">= 2.5.0")
|
246
246
|
s.required_rubygems_version = Gem::Requirement.new(">= 2.2")
|
247
247
|
|
248
|
-
s.
|
248
|
+
s.add_dependency 'psych', '>= 4.0.0'
|
249
249
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rdoc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.
|
4
|
+
version: 6.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Hodel
|
@@ -14,22 +14,22 @@ authors:
|
|
14
14
|
autorequire:
|
15
15
|
bindir: exe
|
16
16
|
cert_chain: []
|
17
|
-
date: 2021-
|
17
|
+
date: 2021-12-24 00:00:00.000000000 Z
|
18
18
|
dependencies:
|
19
19
|
- !ruby/object:Gem::Dependency
|
20
|
-
name:
|
20
|
+
name: psych
|
21
21
|
requirement: !ruby/object:Gem::Requirement
|
22
22
|
requirements:
|
23
23
|
- - ">="
|
24
24
|
- !ruby/object:Gem::Version
|
25
|
-
version:
|
26
|
-
type: :
|
25
|
+
version: 4.0.0
|
26
|
+
type: :runtime
|
27
27
|
prerelease: false
|
28
28
|
version_requirements: !ruby/object:Gem::Requirement
|
29
29
|
requirements:
|
30
30
|
- - ">="
|
31
31
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
32
|
+
version: 4.0.0
|
33
33
|
description: |
|
34
34
|
RDoc produces HTML and command-line documentation for Ruby projects.
|
35
35
|
RDoc includes the +rdoc+ and +ri+ tools for generating and displaying documentation from the command-line.
|
@@ -265,14 +265,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
265
265
|
requirements:
|
266
266
|
- - ">="
|
267
267
|
- !ruby/object:Gem::Version
|
268
|
-
version: 2.
|
268
|
+
version: 2.5.0
|
269
269
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
270
270
|
requirements:
|
271
271
|
- - ">="
|
272
272
|
- !ruby/object:Gem::Version
|
273
273
|
version: '2.2'
|
274
274
|
requirements: []
|
275
|
-
rubygems_version: 3.
|
275
|
+
rubygems_version: 3.2.22
|
276
276
|
signing_key:
|
277
277
|
specification_version: 4
|
278
278
|
summary: RDoc produces HTML and command-line documentation for Ruby projects
|