rdoc 6.10.0 → 6.11.0

Sign up to get free protection for your applications and to get access to all the features.
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: []