rdoc 6.10.0 → 6.11.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 59a2919a713acb30b6faff04d96186d25a5e7ab06b76fdfb0df2d42b086b4517
4
- data.tar.gz: 78cb25012a74e585bf9deb1cb0829404cd568d098eac337048a04170f3a7df61
3
+ metadata.gz: 870fa0cb431cb2be4520001d6bceb293d36475e2d96e090d749a2ee7b91bb979
4
+ data.tar.gz: ea650e35d6b2fe0a33a031e8df70be62742d9046cf9ad9aca8d7ead3cac67038
5
5
  SHA512:
6
- metadata.gz: 26d8df27e608c4f1d07d3c5f20996514523636447136ec9726ddd0cfdf64ee6c28cd9362e9b1c9747ba41076672c21a8e05c54d934de16f3bebed39bd95ebfc6
7
- data.tar.gz: bfb38f2b3baecd464e36da81caf477de2096ab7c5c059a52167dc0f84bc00b579261b37bf18f63a1ae34953ad1d10699043e1c881166e7c11f17736edb2627e8
6
+ metadata.gz: b3cc3a1797ce0a7538620e71b04f5db77eea9af380b6c8db05b283cc17f4b0504d096c33fac55f06c7004100a1d18217e154dcf4f24a7538167292746be9a16c
7
+ data.tar.gz: 0f52da54649752c27b2b330e6cda90aa9c478b8f4fd068b291666771d55e84db67a6c57f5261b4678260b93726eb4ec21c2728e706be0bfb37d1ad3277188330
@@ -18,6 +18,7 @@
18
18
  solo = top.one? {|klass| klass.display?}
19
19
  traverse = proc do |klasses| -%>
20
20
  <ul class="link-list">
21
+ <%- klasses.uniq!(&:full_name) -%>
21
22
  <%- klasses.each do |index_klass| -%>
22
23
  <%- if children = all_classes[index_klass.full_name] -%>
23
24
  <li><details<% if solo; solo = false %> open<% end %>><summary><% link.call(index_klass) %></summary>
@@ -83,6 +83,8 @@ class RDoc::Markup::ToHtmlCrossref < RDoc::Markup::ToHtml
83
83
  def handle_regexp_CROSSREF(target)
84
84
  name = target.text
85
85
 
86
+ return name if @options.autolink_excluded_words&.include?(name)
87
+
86
88
  return name if name =~ /@[\w-]+\.[\w-]/ # labels that look like emails
87
89
 
88
90
  unless @hyperlink_all then
data/lib/rdoc/options.rb CHANGED
@@ -355,18 +355,29 @@ class RDoc::Options
355
355
  # +--[no-]embed-mixins+ (Default is +false+.)
356
356
  attr_accessor :embed_mixins
357
357
 
358
+ ##
359
+ # Exclude the default patterns as well if true.
360
+ attr_reader :apply_default_exclude
361
+
362
+ ##
363
+ # Words to be ignored in autolink cross-references
364
+ attr_accessor :autolink_excluded_words
365
+
358
366
  def initialize loaded_options = nil # :nodoc:
359
367
  init_ivars
360
368
  override loaded_options if loaded_options
361
369
  end
362
370
 
371
+ DEFAULT_EXCLUDE = %w[
372
+ ~\z \.orig\z \.rej\z \.bak\z
373
+ \.gemspec\z
374
+ ]
375
+
363
376
  def init_ivars # :nodoc:
377
+ @autolink_excluded_words = []
364
378
  @dry_run = false
365
379
  @embed_mixins = false
366
- @exclude = %w[
367
- ~\z \.orig\z \.rej\z \.bak\z
368
- \.gemspec\z
369
- ]
380
+ @exclude = []
370
381
  @files = nil
371
382
  @force_output = false
372
383
  @force_update = true
@@ -399,12 +410,13 @@ class RDoc::Options
399
410
  @update_output_dir = true
400
411
  @verbosity = 1
401
412
  @visibility = :protected
402
- @warn_missing_rdoc_ref = false
413
+ @warn_missing_rdoc_ref = true
403
414
  @webcvs = nil
404
415
  @write_options = false
405
416
  @encoding = Encoding::UTF_8
406
417
  @charset = @encoding.name
407
418
  @skip_tests = true
419
+ @apply_default_exclude = true
408
420
  end
409
421
 
410
422
  def init_with map # :nodoc:
@@ -431,6 +443,9 @@ class RDoc::Options
431
443
  @visibility = map['visibility']
432
444
  @webcvs = map['webcvs']
433
445
 
446
+ @apply_default_exclude = map['apply_default_exclude']
447
+ @autolink_excluded_words = map['autolink_excluded_words']
448
+
434
449
  @rdoc_include = sanitize_path map['rdoc_include']
435
450
  @static_path = sanitize_path map['static_path']
436
451
  end
@@ -463,6 +478,8 @@ class RDoc::Options
463
478
  @title = map['title'] if map.has_key?('title')
464
479
  @visibility = map['visibility'] if map.has_key?('visibility')
465
480
  @webcvs = map['webcvs'] if map.has_key?('webcvs')
481
+ @autolink_excluded_words = map['autolink_excluded_words'] if map.has_key?('autolink_excluded_words')
482
+ @apply_default_exclude = map['apply_default_exclude'] if map.has_key?('apply_default_exclude')
466
483
 
467
484
  @warn_missing_rdoc_ref = map['warn_missing_rdoc_ref'] if map.has_key?('warn_missing_rdoc_ref')
468
485
 
@@ -493,7 +510,9 @@ class RDoc::Options
493
510
  @template == other.template and
494
511
  @title == other.title and
495
512
  @visibility == other.visibility and
496
- @webcvs == other.webcvs
513
+ @webcvs == other.webcvs and
514
+ @apply_default_exclude == other.apply_default_exclude and
515
+ @autolink_excluded_words == other.autolink_excluded_words
497
516
  end
498
517
 
499
518
  ##
@@ -564,10 +583,12 @@ class RDoc::Options
564
583
  if @exclude.nil? or Regexp === @exclude then
565
584
  # done, #finish is being re-run
566
585
  @exclude
567
- elsif @exclude.empty? then
586
+ elsif !@apply_default_exclude and @exclude.empty? then
568
587
  nil
569
588
  else
570
- Regexp.new(@exclude.join("|"))
589
+ exclude = @exclude
590
+ exclude |= DEFAULT_EXCLUDE if @apply_default_exclude
591
+ Regexp.new(exclude.join("|"))
571
592
  end
572
593
  end
573
594
 
@@ -801,6 +822,11 @@ Usage: #{opt.program_name} [options] [names...]
801
822
  @exclude << value
802
823
  end
803
824
 
825
+ opt.on("--[no-]apply-default-exclude",
826
+ "Use default PATTERN to exclude.") do |value|
827
+ @apply_default_exclude = value
828
+ end
829
+
804
830
  opt.separator nil
805
831
 
806
832
  opt.on("--no-skipping-tests", nil,
@@ -972,6 +998,13 @@ Usage: #{opt.program_name} [options] [names...]
972
998
 
973
999
  opt.separator nil
974
1000
 
1001
+ opt.on("--autolink-excluded-words=WORDS", Array,
1002
+ "Words to be ignored in autolink cross-references") do |value|
1003
+ @autolink_excluded_words.concat value
1004
+ end
1005
+
1006
+ opt.separator nil
1007
+
975
1008
  opt.on("--hyperlink-all", "-A",
976
1009
  "Generate hyperlinks for all words that",
977
1010
  "correspond to known methods, even if they",
@@ -642,14 +642,16 @@ class RDoc::Parser::PrismRuby < RDoc::Parser
642
642
 
643
643
  owner, name = find_or_create_constant_owner_name(module_name)
644
644
  if is_class
645
- mod = owner.classes_hash[name] || owner.add_class(RDoc::NormalClass, name, superclass_name || '::Object')
646
-
647
645
  # RDoc::NormalClass resolves superclass name despite of the lack of module nesting information.
648
646
  # We need to fix it when RDoc::NormalClass resolved to a wrong constant name
649
647
  if superclass_name
650
648
  superclass_full_path = resolve_constant_path(superclass_name)
651
649
  superclass = @store.find_class_or_module(superclass_full_path) if superclass_full_path
652
650
  superclass_full_path ||= superclass_name
651
+ end
652
+ # add_class should be done after resolving superclass
653
+ mod = owner.classes_hash[name] || owner.add_class(RDoc::NormalClass, name, superclass_name || '::Object')
654
+ if superclass_name
653
655
  if superclass
654
656
  mod.superclass = superclass
655
657
  elsif mod.superclass.is_a?(String) && mod.superclass != superclass_full_path
@@ -181,10 +181,10 @@ class RDoc::RubyGemsHook
181
181
  options = ::RDoc::Options.new
182
182
  options.default_title = "#{@spec.full_name} Documentation"
183
183
  options.parse args
184
+ options.quiet = !Gem.configuration.really_verbose
185
+ options.finish
184
186
  end
185
187
 
186
- options.quiet = !Gem.configuration.really_verbose
187
-
188
188
  @rdoc = new_rdoc
189
189
  @rdoc.options = options
190
190
 
@@ -310,5 +310,21 @@ module RDoc
310
310
  # Generate document for compatibility if this is a default gem.
311
311
  RubyGemsHook.generate(installer, specs)
312
312
  end
313
+
314
+ def self.load_rdoc
315
+ RubyGemsHook.load_rdoc
316
+ end
317
+
318
+ def self.rdoc_version
319
+ RubyGemsHook.rdoc_version
320
+ end
321
+
322
+ def rdoc_installed?
323
+ RubyGemsHook.new(@spec).rdoc_installed?
324
+ end
325
+
326
+ def ri_installed?
327
+ RubyGemsHook.new(@spec).ri_installed?
328
+ end
313
329
  end
314
330
  end
data/lib/rdoc/version.rb CHANGED
@@ -5,6 +5,6 @@ module RDoc
5
5
  ##
6
6
  # RDoc version you are using
7
7
 
8
- VERSION = '6.10.0'
8
+ VERSION = '6.11.0'
9
9
 
10
10
  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.10.0
4
+ version: 6.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eric Hodel
@@ -11,10 +11,9 @@ authors:
11
11
  - Zachary Scott
12
12
  - Hiroshi SHIBATA
13
13
  - ITOYANAGI Sakura
14
- autorequire:
15
14
  bindir: exe
16
15
  cert_chain: []
17
- date: 2024-12-18 00:00:00.000000000 Z
16
+ date: 2025-01-16 00:00:00.000000000 Z
18
17
  dependencies:
19
18
  - !ruby/object:Gem::Dependency
20
19
  name: psych
@@ -254,7 +253,6 @@ metadata:
254
253
  homepage_uri: https://ruby.github.io/rdoc
255
254
  source_code_uri: https://github.com/ruby/rdoc
256
255
  changelog_uri: https://github.com/ruby/rdoc/releases
257
- post_install_message:
258
256
  rdoc_options:
259
257
  - "--main"
260
258
  - README.rdoc
@@ -271,8 +269,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
271
269
  - !ruby/object:Gem::Version
272
270
  version: '2.2'
273
271
  requirements: []
274
- rubygems_version: 3.5.22
275
- signing_key:
272
+ rubygems_version: 3.6.2
276
273
  specification_version: 4
277
274
  summary: RDoc produces HTML and command-line documentation for Ruby projects
278
275
  test_files: []