/
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/encoding.rb
(3838B)
# coding: US-ASCII # frozen_string_literal: true ## # This class is a wrapper around File IO and Encoding that helps RDoc load # files and convert them to the correct encoding. module RDoc::Encoding HEADER_REGEXP = /^ (?: \A\#!.*\n | ^\#\s+frozen[-_]string[-_]literal[=:].+\n | ^\#[^\n]+\b(?:en)?coding[=:]\s*(?<name>[^\s;]+).*\n | <\?xml[^?]*encoding=(?<quote>["'])(?<name>.*?)\k<quote>.*\n )+ /xi # :nodoc: ## # Reads the contents of +filename+ and handles any encoding directives in # the file. # # The content will be converted to the +encoding+. If the file cannot be # converted a warning will be printed and nil will be returned. # # If +force_transcode+ is true the document will be transcoded and any # unknown character in the target encoding will be replaced with '?' def self.read_file filename, encoding, force_transcode = false content = File.open filename, "rb" do |f| f.read end content.gsub!("\r\n", "\n") if RUBY_PLATFORM =~ /mswin|mingw/ utf8 = content.sub!(/\A\xef\xbb\xbf/, '') enc = RDoc::Encoding.detect_encoding content content = RDoc::Encoding.change_encoding content, enc if enc begin encoding ||= Encoding.default_external orig_encoding = content.encoding if not orig_encoding.ascii_compatible? then content = content.encode encoding elsif utf8 then content = RDoc::Encoding.change_encoding content, Encoding::UTF_8 content = content.encode encoding else # assume the content is in our output encoding content = RDoc::Encoding.change_encoding content, encoding end unless content.valid_encoding? then # revert and try to transcode content = RDoc::Encoding.change_encoding content, orig_encoding content = content.encode encoding end unless content.valid_encoding? then warn "unable to convert #{filename} to #{encoding}, skipping" content = nil end rescue Encoding::InvalidByteSequenceError, Encoding::UndefinedConversionError => e if force_transcode then content = RDoc::Encoding.change_encoding content, orig_encoding content = content.encode(encoding, :invalid => :replace, :undef => :replace, :replace => '?') return content else warn "unable to convert #{e.message} for #{filename}, skipping" return nil end end content rescue ArgumentError => e raise unless e.message =~ /unknown encoding name - (.*)/ warn "unknown encoding name \"#{$1}\" for #{filename}, skipping" nil rescue Errno::EISDIR, Errno::ENOENT nil end def self.remove_frozen_string_literal string string =~ /\A(?:#!.*\n)?(.*\n)/ first_line = $1 if first_line =~ /\A# +frozen[-_]string[-_]literal[=:].+$/i string = string.sub first_line, '' end string end ## # Detects the encoding of +string+ based on the magic comment def self.detect_encoding string result = HEADER_REGEXP.match string name = result && result[:name] name ? Encoding.find(name) : nil end ## # Removes magic comments and shebang def self.remove_magic_comment string string.sub HEADER_REGEXP do |s| s.gsub(/[^\n]/, '') end end ## # Changes encoding based on +encoding+ without converting and returns new # string def self.change_encoding text, encoding if text.kind_of? RDoc::Comment text.encode! encoding else # TODO: Remove this condition after Ruby 2.2 EOL if RUBY_VERSION < '2.3.0' text.force_encoding encoding else String.new text, encoding: encoding end end end end
Save
cmd:
run