mirror of
https://github.com/ruby/ruby.git
synced 2025-08-16 22:19:02 +02:00

(https://github.com/ruby/rdoc/pull/1114)
It's hard to distinguish code object classes by their file names alone.
And given that we have 18 such classes, it'd make the codebase a lot
easier to understand if we grouped them into a single directory.
Given that these classes are all autoloaded in `lib/rdoc.rb` instead
of required individually, this change should have minimum impact on
projects using RDoc as they generally just require `rdoc`, not individual
files. An example is Rails' `sdoc`:
https://github.com/rails/sdoc/blob/main/lib/sdoc/rdoc_monkey_patches.rb
4211292ffe
30 lines
511 B
Ruby
30 lines
511 B
Ruby
# frozen_string_literal: true
|
|
##
|
|
# A singleton class
|
|
|
|
class RDoc::SingleClass < RDoc::ClassModule
|
|
|
|
##
|
|
# Adds the superclass to the included modules.
|
|
|
|
def ancestors
|
|
superclass ? super + [superclass] : super
|
|
end
|
|
|
|
def aref_prefix # :nodoc:
|
|
'sclass'
|
|
end
|
|
|
|
##
|
|
# The definition of this singleton class, <tt>class << MyClassName</tt>
|
|
|
|
def definition
|
|
"class << #{full_name}"
|
|
end
|
|
|
|
def pretty_print q # :nodoc:
|
|
q.group 2, "[class << #{full_name}", "]" do
|
|
next
|
|
end
|
|
end
|
|
end
|