/
opt
/
cpanel
/
ea-ruby27
/
root
/
usr
/
share
/
ruby
/
ruby-2.7.8
/
rdoc
/
/opt/cpanel/ea-ruby27/root/usr/share/ruby/ruby-2.7.8/rdoc
mkdir
upload
Name
Size
Mode
Actions
context/
-
0755
rm
generator/
-
0755
rm
i18n/
-
0755
rm
markdown/
-
0755
rm
markup/
-
0755
rm
parser/
-
0755
rm
rd/
-
0755
rm
ri/
-
0755
rm
stats/
-
0755
rm
alias.rb
2173
0644
edit
dl
rm
anon_class.rb
172
0644
edit
dl
rm
any_method.rb
7206
0644
edit
dl
rm
attr.rb
3849
0644
edit
dl
rm
class_module.rb
20292
0644
edit
dl
rm
code_object.rb
9483
0644
edit
dl
rm
code_objects.rb
151
0644
edit
dl
rm
comment.rb
5874
0644
edit
dl
rm
constant.rb
3677
0644
edit
dl
rm
context.rb
30816
0644
edit
dl
rm
cross_reference.rb
6678
0644
edit
dl
rm
encoding.rb
3838
0644
edit
dl
rm
erbio.rb
934
0644
edit
dl
rm
erb_partial.rb
400
0644
edit
dl
rm
extend.rb
170
0644
edit
dl
rm
generator.rb
1837
0644
edit
dl
rm
ghost_method.rb
144
0644
edit
dl
rm
i18n.rb
170
0644
edit
dl
rm
include.rb
172
0644
edit
dl
rm
known_classes.rb
2685
0644
edit
dl
rm
markdown.rb
386117
0644
edit
dl
rm
markup.rb
28755
0644
edit
dl
rm
meta_method.rb
129
0644
edit
dl
rm
method_attr.rb
9251
0644
edit
dl
rm
mixin.rb
2818
0644
edit
dl
rm
normal_class.rb
2183
0644
edit
dl
rm
normal_module.rb
1467
0644
edit
dl
rm
options.rb
31601
0644
edit
dl
rm
parser.rb
7219
0644
edit
dl
rm
rd.rb
3653
0644
edit
dl
rm
rdoc.rb
13866
0644
edit
dl
rm
require.rb
965
0644
edit
dl
rm
ri.rb
345
0644
edit
dl
rm
rubygems_hook.rb
5265
0644
edit
dl
rm
servlet.rb
12401
0644
edit
dl
rm
single_class.rb
408
0644
edit
dl
rm
stats.rb
10729
0644
edit
dl
rm
store.rb
22976
0644
edit
dl
rm
task.rb
7856
0644
edit
dl
rm
text.rb
7577
0644
edit
dl
rm
token_stream.rb
3232
0644
edit
dl
rm
tom_doc.rb
6614
0644
edit
dl
rm
top_level.rb
5677
0644
edit
dl
rm
version.rb
77
0644
edit
dl
rm
Edit:
/opt/cpanel/ea-ruby27/root/usr/share/ruby/ruby-2.7.8/rdoc/comment.rb
(5874B)
# frozen_string_literal: true ## # A comment holds the text comment for a RDoc::CodeObject and provides a # unified way of cleaning it up and parsing it into an RDoc::Markup::Document. # # Each comment may have a different markup format set by #format=. By default # 'rdoc' is used. The :markup: directive tells RDoc which format to use. # # See RDoc::Markup@Other+directives for instructions on adding an alternate # format. class RDoc::Comment include RDoc::Text ## # The format of this comment. Defaults to RDoc::Markup attr_reader :format ## # The RDoc::TopLevel this comment was found in attr_accessor :location ## # Line where this Comment was written attr_accessor :line ## # For duck-typing when merging classes at load time alias file location # :nodoc: ## # The text for this comment attr_reader :text ## # Alias for text alias to_s text ## # Overrides the content returned by #parse. Use when there is no #text # source for this comment attr_writer :document ## # Creates a new comment with +text+ that is found in the RDoc::TopLevel # +location+. def initialize text = nil, location = nil, language = nil @location = location @text = text.nil? ? nil : text.dup @language = language @document = nil @format = 'rdoc' @normalized = false end ## #-- # TODO deep copy @document def initialize_copy copy # :nodoc: @text = copy.text.dup end def == other # :nodoc: self.class === other and other.text == @text and other.location == @location end ## # Look for a 'call-seq' in the comment to override the normal parameter # handling. The :call-seq: is indented from the baseline. All lines of the # same indentation level and prefix are consumed. # # For example, all of the following will be used as the :call-seq: # # # :call-seq: # # ARGF.readlines(sep=$/) -> array # # ARGF.readlines(limit) -> array # # ARGF.readlines(sep, limit) -> array # # # # ARGF.to_a(sep=$/) -> array # # ARGF.to_a(limit) -> array # # ARGF.to_a(sep, limit) -> array def extract_call_seq method # we must handle situations like the above followed by an unindented first # comment. The difficulty is to make sure not to match lines starting # with ARGF at the same indent, but that are after the first description # paragraph. if @text =~ /^\s*:?call-seq:(.*?(?:\S).*?)^\s*$/m then all_start, all_stop = $~.offset(0) seq_start, seq_stop = $~.offset(1) # we get the following lines that start with the leading word at the # same indent, even if they have blank lines before if $1 =~ /(^\s*\n)+^(\s*\w+)/m then leading = $2 # ' * ARGF' in the example above re = %r% \A( (^\s*\n)+ (^#{Regexp.escape leading}.*?\n)+ )+ ^\s*$ %xm if @text[seq_stop..-1] =~ re then all_stop = seq_stop + $~.offset(0).last seq_stop = seq_stop + $~.offset(1).last end end seq = @text[seq_start..seq_stop] seq.gsub!(/^\s*(\S|\n)/m, '\1') @text.slice! all_start...all_stop method.call_seq = seq.chomp else regexp = /^\s*:?call-seq:(.*?)(^\s*$|\z)/m if regexp =~ @text then @text = @text.sub(regexp, '') seq = $1 seq.gsub!(/^\s*/, '') method.call_seq = seq end end method end ## # A comment is empty if its text String is empty. def empty? @text.empty? end ## # HACK dubious def encode! encoding # TODO: Remove this condition after Ruby 2.2 EOL if RUBY_VERSION < '2.3.0' @text = @text.force_encoding encoding else @text = String.new @text, encoding: encoding end self end ## # Sets the format of this comment and resets any parsed document def format= format @format = format @document = nil end def inspect # :nodoc: location = @location ? @location.relative_name : '(unknown)' "#<%s:%x %s %p>" % [self.class, object_id, location, @text] end ## # Normalizes the text. See RDoc::Text#normalize_comment for details def normalize return self unless @text return self if @normalized # TODO eliminate duplicate normalization @text = normalize_comment @text @normalized = true self end ## # Was this text normalized? def normalized? # :nodoc: @normalized end ## # Parses the comment into an RDoc::Markup::Document. The parsed document is # cached until the text is changed. def parse return @document if @document @document = super @text, @format @document.file = @location @document end ## # Removes private sections from this comment. Private sections are flush to # the comment marker and start with <tt>--</tt> and end with <tt>++</tt>. # For C-style comments, a private marker may not start at the opening of the # comment. # # /* # *-- # * private # *++ # * public # */ def remove_private # Workaround for gsub encoding for Ruby 1.9.2 and earlier empty = '' empty = RDoc::Encoding.change_encoding empty, @text.encoding @text = @text.gsub(%r%^\s*([#*]?)--.*?^\s*(\1)\+\+\n?%m, empty) @text = @text.sub(%r%^\s*[#*]?--.*%m, '') end ## # Replaces this comment's text with +text+ and resets the parsed document. # # An error is raised if the comment contains a document but no text. def text= text raise RDoc::Error, 'replacing document-only comment is not allowed' if @text.nil? and @document @document = nil @text = text.nil? ? nil : text.dup end ## # Returns true if this comment is in TomDoc format. def tomdoc? @format == 'tomdoc' end end
Save
cmd:
run