mirror of
https://github.com/ruby/ruby.git
synced 2026-08-16 02:15:57 +08: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 https://github.com/ruby/rdoc/commit/4211292ffe
31 lines
511 B
Ruby
31 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
|