rdoc 6.4.0 → 6.6.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.
Files changed (121) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.rdoc +1 -2
  3. data/LEGAL.rdoc +1 -1
  4. data/README.rdoc +2 -2
  5. data/TODO.rdoc +1 -1
  6. data/exe/rdoc +0 -1
  7. data/lib/rdoc/alias.rb +0 -1
  8. data/lib/rdoc/anon_class.rb +0 -1
  9. data/lib/rdoc/any_method.rb +17 -2
  10. data/lib/rdoc/attr.rb +0 -1
  11. data/lib/rdoc/class_module.rb +0 -1
  12. data/lib/rdoc/code_objects.rb +1 -2
  13. data/lib/rdoc/comment.rb +20 -41
  14. data/lib/rdoc/constant.rb +0 -1
  15. data/lib/rdoc/context/section.rb +2 -1
  16. data/lib/rdoc/context.rb +1 -3
  17. data/lib/rdoc/cross_reference.rb +17 -2
  18. data/lib/rdoc/encoding.rb +1 -6
  19. data/lib/rdoc/erb_partial.rb +0 -1
  20. data/lib/rdoc/erbio.rb +2 -7
  21. data/lib/rdoc/extend.rb +0 -1
  22. data/lib/rdoc/generator/darkfish.rb +2 -6
  23. data/lib/rdoc/generator/json_index.rb +2 -2
  24. data/lib/rdoc/generator/markup.rb +1 -2
  25. data/lib/rdoc/generator/ri.rb +0 -1
  26. data/lib/rdoc/generator/template/darkfish/_head.rhtml +10 -10
  27. data/lib/rdoc/generator/template/darkfish/_sidebar_classes.rhtml +27 -3
  28. data/lib/rdoc/generator/template/darkfish/_sidebar_pages.rhtml +22 -2
  29. data/lib/rdoc/generator/template/darkfish/_sidebar_search.rhtml +1 -1
  30. data/lib/rdoc/generator/template/darkfish/_sidebar_table_of_contents.rhtml +25 -4
  31. data/lib/rdoc/generator/template/darkfish/class.rhtml +28 -20
  32. data/lib/rdoc/generator/template/darkfish/css/rdoc.css +44 -7
  33. data/lib/rdoc/generator/template/darkfish/index.rhtml +1 -1
  34. data/lib/rdoc/generator/template/darkfish/js/darkfish.js +14 -1
  35. data/lib/rdoc/generator/template/darkfish/js/search.js +4 -4
  36. data/lib/rdoc/generator/template/darkfish/table_of_contents.rhtml +7 -6
  37. data/lib/rdoc/generator/template/json_index/js/navigation.js +8 -8
  38. data/lib/rdoc/generator.rb +5 -5
  39. data/lib/rdoc/ghost_method.rb +0 -1
  40. data/lib/rdoc/i18n.rb +1 -1
  41. data/lib/rdoc/include.rb +0 -1
  42. data/lib/rdoc/known_classes.rb +5 -4
  43. data/lib/rdoc/markdown/entities.rb +0 -1
  44. data/lib/rdoc/markdown/literals.rb +98 -40
  45. data/lib/rdoc/markdown.kpeg +26 -19
  46. data/lib/rdoc/markdown.rb +326 -227
  47. data/lib/rdoc/markup/attr_changer.rb +0 -1
  48. data/lib/rdoc/markup/attr_span.rb +0 -1
  49. data/lib/rdoc/markup/attribute_manager.rb +29 -36
  50. data/lib/rdoc/markup/attributes.rb +0 -1
  51. data/lib/rdoc/markup/blank_line.rb +0 -1
  52. data/lib/rdoc/markup/block_quote.rb +0 -1
  53. data/lib/rdoc/markup/document.rb +0 -1
  54. data/lib/rdoc/markup/formatter.rb +0 -1
  55. data/lib/rdoc/markup/hard_break.rb +0 -1
  56. data/lib/rdoc/markup/heading.rb +0 -1
  57. data/lib/rdoc/markup/include.rb +0 -1
  58. data/lib/rdoc/markup/indented_paragraph.rb +0 -1
  59. data/lib/rdoc/markup/list.rb +0 -1
  60. data/lib/rdoc/markup/list_item.rb +0 -1
  61. data/lib/rdoc/markup/paragraph.rb +0 -1
  62. data/lib/rdoc/markup/parser.rb +12 -6
  63. data/lib/rdoc/markup/raw.rb +0 -1
  64. data/lib/rdoc/markup/regexp_handling.rb +0 -1
  65. data/lib/rdoc/markup/rule.rb +0 -1
  66. data/lib/rdoc/markup/to_ansi.rb +0 -1
  67. data/lib/rdoc/markup/to_html.rb +21 -16
  68. data/lib/rdoc/markup/to_html_crossref.rb +0 -1
  69. data/lib/rdoc/markup/to_html_snippet.rb +0 -1
  70. data/lib/rdoc/markup/to_joined_paragraph.rb +2 -3
  71. data/lib/rdoc/markup/to_label.rb +1 -2
  72. data/lib/rdoc/markup/to_markdown.rb +0 -1
  73. data/lib/rdoc/markup/to_rdoc.rb +3 -21
  74. data/lib/rdoc/markup/to_table_of_contents.rb +0 -1
  75. data/lib/rdoc/markup/to_test.rb +0 -1
  76. data/lib/rdoc/markup/to_tt_only.rb +0 -1
  77. data/lib/rdoc/markup/verbatim.rb +0 -1
  78. data/lib/rdoc/markup.rb +35 -667
  79. data/lib/rdoc/meta_method.rb +0 -1
  80. data/lib/rdoc/method_attr.rb +1 -2
  81. data/lib/rdoc/mixin.rb +0 -1
  82. data/lib/rdoc/normal_class.rb +1 -2
  83. data/lib/rdoc/normal_module.rb +1 -2
  84. data/lib/rdoc/options.rb +36 -20
  85. data/lib/rdoc/parser/c.rb +89 -101
  86. data/lib/rdoc/parser/changelog.rb +0 -1
  87. data/lib/rdoc/parser/markdown.rb +0 -2
  88. data/lib/rdoc/parser/rd.rb +0 -1
  89. data/lib/rdoc/parser/ripper_state_lex.rb +1 -1
  90. data/lib/rdoc/parser/ruby.rb +29 -14
  91. data/lib/rdoc/parser/ruby_tools.rb +0 -2
  92. data/lib/rdoc/parser/text.rb +0 -1
  93. data/lib/rdoc/parser.rb +19 -2
  94. data/lib/rdoc/rd/block_parser.rb +666 -12
  95. data/lib/rdoc/rd/block_parser.ry +13 -9
  96. data/lib/rdoc/rd/inline.rb +0 -1
  97. data/lib/rdoc/rd/inline_parser.rb +3 -1
  98. data/lib/rdoc/rd.rb +3 -4
  99. data/lib/rdoc/rdoc.rb +19 -7
  100. data/lib/rdoc/require.rb +0 -1
  101. data/lib/rdoc/ri/driver.rb +20 -86
  102. data/lib/rdoc/ri/store.rb +0 -1
  103. data/lib/rdoc/ri.rb +4 -5
  104. data/lib/rdoc/rubygems_hook.rb +1 -1
  105. data/lib/rdoc/servlet.rb +1 -1
  106. data/lib/rdoc/single_class.rb +5 -1
  107. data/lib/rdoc/stats/quiet.rb +0 -1
  108. data/lib/rdoc/stats/verbose.rb +0 -2
  109. data/lib/rdoc/stats.rb +3 -4
  110. data/lib/rdoc/store.rb +4 -4
  111. data/lib/rdoc/task.rb +31 -5
  112. data/lib/rdoc/token_stream.rb +0 -1
  113. data/lib/rdoc/top_level.rb +0 -1
  114. data/lib/rdoc/version.rb +3 -1
  115. data/lib/rdoc.rb +46 -46
  116. metadata +9 -11
  117. data/Gemfile +0 -12
  118. data/Rakefile +0 -107
  119. data/bin/console +0 -7
  120. data/bin/setup +0 -6
  121. data/rdoc.gemspec +0 -249
@@ -230,8 +230,6 @@ end
230
230
 
231
231
  # :stopdoc:
232
232
 
233
- TMPFILE = ["rdtmp", $$, 0]
234
-
235
233
  MARK_TO_LEVEL = {
236
234
  '=' => 1,
237
235
  '==' => 2,
@@ -341,15 +339,19 @@ def next_token # :nodoc:
341
339
  # non-RD part begin
342
340
  when /^=begin\s+(\w+)/
343
341
  part = $1
342
+ =begin # not imported to RDoc
344
343
  if @in_part # if in non-RD part
345
344
  @part_content.push(line)
346
345
  else
347
346
  @in_part = part if @tree.filter[part] # if filter exists
348
347
  # p "BEGIN_PART: #{@in_part}" # DEBUG
349
348
  end
349
+ =end
350
+ @in_part = part
350
351
  # non-RD part end
351
- when /^=end/
352
+ when /^=end(?:$|[\s\0\C-d\C-z])/
352
353
  if @in_part # if in non-RD part
354
+ =begin # not imported to RDoc
353
355
  # p "END_PART: #{@in_part}" # DEBUG
354
356
  # make Part-in object
355
357
  part = RDoc::RD::Part.new(@part_content.join(""), @tree, "r")
@@ -360,20 +362,22 @@ def next_token # :nodoc:
360
362
  if @tree.filter[@in_part].mode == :rd # if output is RD formatted
361
363
  subtree = parse_subtree(part_out.to_a)
362
364
  else # if output is target formatted
363
- basename = TMPFILE.join('.')
364
- TMPFILE[-1] += 1
365
- tmpfile = open(@tree.tmp_dir + "/" + basename + ".#{@in_part}", "w")
366
- tmpfile.print(part_out)
367
- tmpfile.close
365
+ basename = Tempfile.create(["rdtmp", ".#{@in_part}"], @tree.tmp_dir) do |tmpfile|
366
+ tmpfile.print(part_out)
367
+ File.basename(tmpfile.path)
368
+ end
368
369
  subtree = parse_subtree(["=begin\n", "<<< #{basename}\n", "=end\n"])
369
370
  end
370
371
  @in_part = nil
371
372
  return [:SUBTREE, subtree]
373
+ =end
372
374
  end
373
375
  else
376
+ =begin # not imported to RDoc
374
377
  if @in_part # if in non-RD part
375
378
  @part_content.push(line)
376
379
  end
380
+ =end
377
381
  end
378
382
  end
379
383
 
@@ -568,7 +572,7 @@ def get_included(file)
568
572
  file_name = File.join dir, file
569
573
 
570
574
  if File.exist? file_name then
571
- included = IO.readlines file_name
575
+ included = File.readlines file_name
572
576
  break
573
577
  end
574
578
  end
@@ -69,4 +69,3 @@ class RDoc::RD::Inline
69
69
  alias to_s rdoc # :nodoc:
70
70
 
71
71
  end
72
-
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
  #
3
3
  # DO NOT MODIFY!!!!
4
- # This file is automatically generated by Racc 1.5.2
4
+ # This file is automatically generated by Racc 1.7.1
5
5
  # from Racc grammar file "".
6
6
  #
7
7
 
@@ -652,6 +652,7 @@ Racc_arg = [
652
652
  racc_shift_n,
653
653
  racc_reduce_n,
654
654
  racc_use_result_var ]
655
+ Ractor.make_shareable(Racc_arg) if defined?(Ractor)
655
656
 
656
657
  Racc_token_to_s_table = [
657
658
  "$end",
@@ -723,6 +724,7 @@ Racc_token_to_s_table = [
723
724
  "normal_strings",
724
725
  "verb_string",
725
726
  "verb_normal_string" ]
727
+ Ractor.make_shareable(Racc_token_to_s_table) if defined?(Ractor)
726
728
 
727
729
  Racc_debug_parser = false
728
730
 
data/lib/rdoc/rd.rb CHANGED
@@ -92,9 +92,8 @@ class RDoc::RD
92
92
  document
93
93
  end
94
94
 
95
- autoload :BlockParser, 'rdoc/rd/block_parser'
96
- autoload :InlineParser, 'rdoc/rd/inline_parser'
97
- autoload :Inline, 'rdoc/rd/inline'
95
+ autoload :BlockParser, "#{__dir__}/rd/block_parser"
96
+ autoload :InlineParser, "#{__dir__}/rd/inline_parser"
97
+ autoload :Inline, "#{__dir__}/rd/inline"
98
98
 
99
99
  end
100
-
data/lib/rdoc/rdoc.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
- require 'rdoc'
2
+ require_relative '../rdoc'
3
3
 
4
4
  require 'find'
5
5
  require 'fileutils'
@@ -35,6 +35,17 @@ class RDoc::RDoc
35
35
 
36
36
  GENERATORS = {}
37
37
 
38
+ ##
39
+ # List of directory names always skipped
40
+
41
+ UNCONDITIONALLY_SKIPPED_DIRECTORIES = %w[CVS .svn .git].freeze
42
+
43
+ ##
44
+ # List of directory names skipped if test suites should be skipped
45
+
46
+ TEST_SUITE_DIRECTORY_NAMES = %w[spec test].freeze
47
+
48
+
38
49
  ##
39
50
  # Generator instance used for creating output
40
51
 
@@ -108,7 +119,7 @@ class RDoc::RDoc
108
119
  # +files+.
109
120
 
110
121
  def gather_files files
111
- files = ["."] if files.empty?
122
+ files = [@options.root.to_s] if files.empty?
112
123
 
113
124
  file_list = normalized_file_list files, true, @options.exclude
114
125
 
@@ -280,7 +291,10 @@ option)
280
291
  file_list[rel_file_name] = mtime
281
292
  end
282
293
  when "directory" then
283
- next if rel_file_name == "CVS" || rel_file_name == ".svn"
294
+ next if UNCONDITIONALLY_SKIPPED_DIRECTORIES.include?(rel_file_name)
295
+
296
+ basename = File.basename(rel_file_name)
297
+ next if options.skip_tests && TEST_SUITE_DIRECTORY_NAMES.include?(basename)
284
298
 
285
299
  created_rid = File.join rel_file_name, "created.rid"
286
300
  next if File.file? created_rid
@@ -415,9 +429,7 @@ The internal error was:
415
429
  files.reject do |file, *|
416
430
  file =~ /\.(?:class|eps|erb|scpt\.txt|svg|ttf|yml)$/i or
417
431
  (file =~ /tags$/i and
418
- File.open(file, 'rb') { |io|
419
- io.read(100) =~ /\A(\f\n[^,]+,\d+$|!_TAG_)/
420
- })
432
+ /\A(\f\n[^,]+,\d+$|!_TAG_)/.match?(File.binread(file, 100)))
421
433
  end
422
434
  end
423
435
 
@@ -440,11 +452,11 @@ The internal error was:
440
452
 
441
453
  if RDoc::Options === options then
442
454
  @options = options
443
- @options.finish
444
455
  else
445
456
  @options = RDoc::Options.load_options
446
457
  @options.parse options
447
458
  end
459
+ @options.finish
448
460
 
449
461
  if @options.pipe then
450
462
  handle_pipe
data/lib/rdoc/require.rb CHANGED
@@ -49,4 +49,3 @@ class RDoc::Require < RDoc::CodeObject
49
49
  end
50
50
 
51
51
  end
52
-
@@ -1,23 +1,10 @@
1
1
  # frozen_string_literal: true
2
- require 'abbrev'
3
2
  require 'optparse'
4
3
 
5
- begin
6
- require 'readline'
7
- rescue LoadError
8
- end
9
-
10
- begin
11
- require 'win32console'
12
- rescue LoadError
13
- end
14
-
15
- require 'rdoc'
16
-
17
- ##
18
- # For RubyGems backwards compatibility
4
+ require_relative '../../rdoc'
19
5
 
20
- require_relative 'formatter'
6
+ require_relative 'formatter' # For RubyGems backwards compatibility
7
+ # TODO: Fix weird documentation with `require_relative`
21
8
 
22
9
  ##
23
10
  # The RI driver implements the command-line ri tool.
@@ -47,9 +34,9 @@ class RDoc::RI::Driver
47
34
 
48
35
  class NotFoundError < Error
49
36
 
50
- def initialize(klass, suggestions = nil) # :nodoc:
37
+ def initialize(klass, suggestion_proc = nil) # :nodoc:
51
38
  @klass = klass
52
- @suggestions = suggestions
39
+ @suggestion_proc = suggestion_proc
53
40
  end
54
41
 
55
42
  ##
@@ -61,8 +48,9 @@ class RDoc::RI::Driver
61
48
 
62
49
  def message # :nodoc:
63
50
  str = "Nothing known about #{@klass}"
64
- if @suggestions and !@suggestions.empty?
65
- str += "\nDid you mean? #{@suggestions.join("\n ")}"
51
+ suggestions = @suggestion_proc&.call
52
+ if suggestions and !suggestions.empty?
53
+ str += "\nDid you mean? #{suggestions.join("\n ")}"
66
54
  end
67
55
  str
68
56
  end
@@ -433,9 +421,6 @@ or the PAGER environment variable.
433
421
  @use_stdout = options[:use_stdout]
434
422
  @show_all = options[:show_all]
435
423
  @width = options[:width]
436
-
437
- # pager process for jruby
438
- @jruby_pager_process = nil
439
424
  end
440
425
 
441
426
  ##
@@ -964,8 +949,8 @@ or the PAGER environment variable.
964
949
  ary = class_names.grep(Regexp.new("\\A#{klass.gsub(/(?=::|\z)/, '[^:]*')}\\z"))
965
950
  if ary.length != 1 && ary.first != klass
966
951
  if check_did_you_mean
967
- suggestions = DidYouMean::SpellChecker.new(dictionary: class_names).correct(klass)
968
- raise NotFoundError.new(klass, suggestions)
952
+ suggestion_proc = -> { DidYouMean::SpellChecker.new(dictionary: class_names).correct(klass) }
953
+ raise NotFoundError.new(klass, suggestion_proc)
969
954
  else
970
955
  raise NotFoundError, klass
971
956
  end
@@ -1051,36 +1036,6 @@ or the PAGER environment variable.
1051
1036
  self
1052
1037
  end
1053
1038
 
1054
- ##
1055
- # Finds the given +pager+ for jruby. Returns an IO if +pager+ was found.
1056
- #
1057
- # Returns false if +pager+ does not exist.
1058
- #
1059
- # Returns nil if the jruby JVM doesn't support ProcessBuilder redirection
1060
- # (1.6 and older).
1061
-
1062
- def find_pager_jruby pager
1063
- require 'java'
1064
- require 'shellwords'
1065
-
1066
- return nil unless java.lang.ProcessBuilder.constants.include? :Redirect
1067
-
1068
- pager = Shellwords.split pager
1069
-
1070
- pb = java.lang.ProcessBuilder.new(*pager)
1071
- pb = pb.redirect_output java.lang.ProcessBuilder::Redirect::INHERIT
1072
-
1073
- @jruby_pager_process = pb.start
1074
-
1075
- input = @jruby_pager_process.output_stream
1076
-
1077
- io = input.to_io
1078
- io.sync = true
1079
- io
1080
- rescue java.io.IOException
1081
- false
1082
- end
1083
-
1084
1039
  ##
1085
1040
  # Finds a store that matches +name+ which can be the name of a gem, "ruby",
1086
1041
  # "home" or "site".
@@ -1120,6 +1075,10 @@ or the PAGER environment variable.
1120
1075
  def interactive
1121
1076
  puts "\nEnter the method name you want to look up."
1122
1077
 
1078
+ begin
1079
+ require 'readline'
1080
+ rescue LoadError
1081
+ end
1123
1082
  if defined? Readline then
1124
1083
  Readline.completion_proc = method :complete
1125
1084
  puts "You can use tab to autocomplete."
@@ -1148,17 +1107,6 @@ or the PAGER environment variable.
1148
1107
  exit
1149
1108
  end
1150
1109
 
1151
- ##
1152
- # Is +file+ in ENV['PATH']?
1153
-
1154
- def in_path? file
1155
- return true if file =~ %r%\A/% and File.exist? file
1156
-
1157
- ENV['PATH'].split(File::PATH_SEPARATOR).any? do |path|
1158
- File.exist? File.join(path, file)
1159
- end
1160
- end
1161
-
1162
1110
  ##
1163
1111
  # Lists classes known to ri starting with +names+. If +names+ is empty all
1164
1112
  # known classes are shown.
@@ -1290,8 +1238,8 @@ or the PAGER environment variable.
1290
1238
  methods.push(*store.instance_methods[klass]) if [:instance, :both].include? types
1291
1239
  end
1292
1240
  methods = methods.uniq
1293
- suggestions = DidYouMean::SpellChecker.new(dictionary: methods).correct(method_name)
1294
- raise NotFoundError.new(name, suggestions)
1241
+ suggestion_proc = -> { DidYouMean::SpellChecker.new(dictionary: methods).correct(method_name) }
1242
+ raise NotFoundError.new(name, suggestion_proc)
1295
1243
  else
1296
1244
  raise NotFoundError, name
1297
1245
  end
@@ -1353,7 +1301,6 @@ or the PAGER environment variable.
1353
1301
  yield pager
1354
1302
  ensure
1355
1303
  pager.close
1356
- @jruby_pager_process.wait_for if @jruby_pager_process
1357
1304
  end
1358
1305
  else
1359
1306
  yield $stdout
@@ -1521,27 +1468,14 @@ or the PAGER environment variable.
1521
1468
  def setup_pager
1522
1469
  return if @use_stdout
1523
1470
 
1524
- jruby = RUBY_ENGINE == 'jruby'
1525
-
1526
1471
  pagers = [ENV['RI_PAGER'], ENV['PAGER'], 'pager', 'less', 'more']
1527
1472
 
1473
+ require 'shellwords'
1528
1474
  pagers.compact.uniq.each do |pager|
1529
- next unless pager
1530
-
1531
- pager_cmd = pager.split(' ').first
1532
-
1533
- next unless in_path? pager_cmd
1534
-
1535
- if jruby then
1536
- case io = find_pager_jruby(pager)
1537
- when nil then break
1538
- when false then next
1539
- else io
1540
- end
1541
- else
1542
- io = IO.popen(pager, 'w') rescue next
1543
- end
1475
+ pager = Shellwords.split(pager)
1476
+ next if pager.empty?
1544
1477
 
1478
+ io = IO.popen(pager, 'w') rescue next
1545
1479
  next if $? and $?.pid == io.pid and $?.exited? # pager didn't work
1546
1480
 
1547
1481
  @paging = true
data/lib/rdoc/ri/store.rb CHANGED
@@ -4,4 +4,3 @@ module RDoc::RI
4
4
  Store = RDoc::Store # :nodoc:
5
5
 
6
6
  end
7
-
data/lib/rdoc/ri.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
- require 'rdoc'
2
+ require_relative '../rdoc'
3
3
 
4
4
  ##
5
5
  # Namespace for the ri command line tool's implementation.
@@ -13,9 +13,8 @@ module RDoc::RI
13
13
 
14
14
  class Error < RDoc::Error; end
15
15
 
16
- autoload :Driver, 'rdoc/ri/driver'
17
- autoload :Paths, 'rdoc/ri/paths'
18
- autoload :Store, 'rdoc/ri/store'
16
+ autoload :Driver, "#{__dir__}/ri/driver"
17
+ autoload :Paths, "#{__dir__}/ri/paths"
18
+ autoload :Store, "#{__dir__}/ri/store"
19
19
 
20
20
  end
21
-
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
  require 'rubygems/user_interaction'
3
3
  require 'fileutils'
4
- require 'rdoc'
4
+ require_relative '../rdoc'
5
5
 
6
6
  ##
7
7
  # Gem::RDoc provides methods to generate RDoc and ri data for installed gems
data/lib/rdoc/servlet.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
- require 'rdoc'
2
+ require_relative '../rdoc'
3
3
  require 'erb'
4
4
  require 'time'
5
5
  require 'json'
@@ -22,5 +22,9 @@ class RDoc::SingleClass < RDoc::ClassModule
22
22
  "class << #{full_name}"
23
23
  end
24
24
 
25
+ def pretty_print q # :nodoc:
26
+ q.group 2, "[class << #{full_name}", "]" do
27
+ next
28
+ end
29
+ end
25
30
  end
26
-
@@ -57,4 +57,3 @@ class RDoc::Stats::Quiet
57
57
  def done_adding(*) end
58
58
 
59
59
  end
60
-
@@ -42,5 +42,3 @@ class RDoc::Stats::Verbose < RDoc::Stats::Normal
42
42
  end
43
43
 
44
44
  end
45
-
46
-
data/lib/rdoc/stats.rb CHANGED
@@ -454,9 +454,8 @@ class RDoc::Stats
454
454
  [params.length, undoc]
455
455
  end
456
456
 
457
- autoload :Quiet, 'rdoc/stats/quiet'
458
- autoload :Normal, 'rdoc/stats/normal'
459
- autoload :Verbose, 'rdoc/stats/verbose'
457
+ autoload :Quiet, "#{__dir__}/stats/quiet"
458
+ autoload :Normal, "#{__dir__}/stats/normal"
459
+ autoload :Verbose, "#{__dir__}/stats/verbose"
460
460
 
461
461
  end
462
-
data/lib/rdoc/store.rb CHANGED
@@ -557,7 +557,7 @@ class RDoc::Store
557
557
  #orig_enc = @encoding
558
558
 
559
559
  File.open cache_path, 'rb' do |io|
560
- @cache = Marshal.load io.read
560
+ @cache = Marshal.load io
561
561
  end
562
562
 
563
563
  load_enc = @cache[:encoding]
@@ -616,7 +616,7 @@ class RDoc::Store
616
616
  file = class_file klass_name
617
617
 
618
618
  File.open file, 'rb' do |io|
619
- Marshal.load io.read
619
+ Marshal.load io
620
620
  end
621
621
  rescue Errno::ENOENT => e
622
622
  error = MissingFileError.new(self, file, klass_name)
@@ -631,7 +631,7 @@ class RDoc::Store
631
631
  file = method_file klass_name, method_name
632
632
 
633
633
  File.open file, 'rb' do |io|
634
- obj = Marshal.load io.read
634
+ obj = Marshal.load io
635
635
  obj.store = self
636
636
  obj.parent =
637
637
  find_class_or_module(klass_name) || load_class(klass_name) unless
@@ -651,7 +651,7 @@ class RDoc::Store
651
651
  file = page_file page_name
652
652
 
653
653
  File.open file, 'rb' do |io|
654
- obj = Marshal.load io.read
654
+ obj = Marshal.load io
655
655
  obj.store = self
656
656
  obj
657
657
  end
data/lib/rdoc/task.rb CHANGED
@@ -32,7 +32,7 @@ begin
32
32
  rescue Gem::LoadError
33
33
  end unless defined?(Rake)
34
34
 
35
- require 'rdoc'
35
+ require_relative '../rdoc'
36
36
  require 'rake'
37
37
  require 'rake/tasklib'
38
38
 
@@ -50,6 +50,9 @@ require 'rake/tasklib'
50
50
  # [rerdoc]
51
51
  # Rebuild the rdoc files from scratch, even if they are not out of date.
52
52
  #
53
+ # [rdoc:coverage]
54
+ # Print RDoc coverage report for all rdoc files.
55
+ #
53
56
  # Simple Example:
54
57
  #
55
58
  # require 'rdoc/task'
@@ -71,7 +74,7 @@ require 'rake/tasklib'
71
74
  # require 'rdoc/task'
72
75
  #
73
76
  # RDoc::Task.new :rdoc_dev do |rdoc|
74
- # rdoc.main = "README.doc"
77
+ # rdoc.main = "README.rdoc"
75
78
  # rdoc.rdoc_files.include("README.rdoc", "lib/**/*.rb")
76
79
  # rdoc.options << "--all"
77
80
  # end
@@ -90,8 +93,8 @@ require 'rake/tasklib'
90
93
  # RDoc::Task.new(:rdoc => "rdoc", :clobber_rdoc => "rdoc:clean",
91
94
  # :rerdoc => "rdoc:force")
92
95
  #
93
- # This will create the tasks <tt>:rdoc</tt>, <tt>:rdoc:clean</tt> and
94
- # <tt>:rdoc:force</tt>.
96
+ # This will create the tasks <tt>:rdoc</tt>, <tt>:rdoc:clean</tt>,
97
+ # <tt>:rdoc:force</tt>, and <tt>:rdoc:coverage</tt>.
95
98
 
96
99
  class RDoc::Task < Rake::TaskLib
97
100
 
@@ -248,6 +251,18 @@ class RDoc::Task < Rake::TaskLib
248
251
  RDoc::RDoc.new.document args
249
252
  end
250
253
 
254
+ namespace rdoc_task_name do
255
+ desc coverage_task_description
256
+ task coverage_task_name do
257
+ @before_running_rdoc.call if @before_running_rdoc
258
+ opts = option_list << "-C"
259
+ args = opts + @rdoc_files
260
+
261
+ $stderr.puts "rdoc #{args.join ' '}" if Rake.application.options.trace
262
+ RDoc::RDoc.new.document args
263
+ end
264
+ end
265
+
251
266
  self
252
267
  end
253
268
 
@@ -288,6 +303,13 @@ class RDoc::Task < Rake::TaskLib
288
303
  "Rebuild RDoc HTML files"
289
304
  end
290
305
 
306
+ ##
307
+ # Task description for the coverage task or its renamed description
308
+
309
+ def coverage_task_description
310
+ "Print RDoc coverage report"
311
+ end
312
+
291
313
  private
292
314
 
293
315
  def rdoc_target
@@ -315,6 +337,10 @@ class RDoc::Task < Rake::TaskLib
315
337
  end
316
338
  end
317
339
 
340
+ def coverage_task_name
341
+ "coverage"
342
+ end
343
+
318
344
  end
319
345
 
320
346
  # :stopdoc:
@@ -323,7 +349,7 @@ module Rake
323
349
  ##
324
350
  # For backwards compatibility
325
351
 
326
- RDocTask = RDoc::Task
352
+ RDocTask = RDoc::Task # :nodoc:
327
353
 
328
354
  end
329
355
  # :startdoc:
@@ -116,4 +116,3 @@ module RDoc::TokenStream
116
116
  end
117
117
 
118
118
  end
119
-
@@ -286,4 +286,3 @@ class RDoc::TopLevel < RDoc::Context
286
286
  end
287
287
 
288
288
  end
289
-
data/lib/rdoc/version.rb CHANGED
@@ -1,8 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RDoc
2
4
 
3
5
  ##
4
6
  # RDoc version you are using
5
7
 
6
- VERSION = '6.4.0'
8
+ VERSION = '6.6.0'
7
9
 
8
10
  end