$25 GRAYBYTE WORDPRESS FILE MANAGER $81

SERVER : premium201.web-hosting.com #1 SMP Wed Mar 26 12:08:09 UTC 2025
SERVER IP : 104.21.43.35 | ADMIN IP 216.73.216.23
OPTIONS : CRL = ON | WGT = ON | SDO = OFF | PKEX = OFF
DEACTIVATED : NONE

/opt/alt/ruby23/lib64/ruby/2.3.0/rdoc/

HOME
Current File : /opt/alt/ruby23/lib64/ruby/2.3.0/rdoc//encoding.rb
# coding: US-ASCII
# frozen_string_literal: false

##
# 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

  ##
  # 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 = 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/, '')

    RDoc::Encoding.set_encoding content

    if Object.const_defined? :Encoding then
      begin
        encoding ||= Encoding.default_external
        orig_encoding = content.encoding

        if not orig_encoding.ascii_compatible? then
          content.encode! encoding
        elsif utf8 then
          content.force_encoding Encoding::UTF_8
          content.encode! encoding
        else
          # assume the content is in our output encoding
          content.force_encoding encoding
        end

        unless content.valid_encoding? then
          # revert and try to transcode
          content.force_encoding orig_encoding
          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.force_encoding orig_encoding
          content.encode!(encoding,
                          :invalid => :replace, :undef => :replace,
                          :replace => '?')
          return content
        else
          warn "unable to convert #{e.message} for #{filename}, skipping"
          return nil
        end
      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

  ##
  # Sets the encoding of +string+ based on the magic comment

  def self.set_encoding string
    string =~ /\A(?:#!.*\n)?(.*\n)/

    first_line = $1

    name = case first_line
           when /^<\?xml[^?]*encoding=(["'])(.*?)\1/ then $2
           when /\b(?:en)?coding[=:]\s*([^\s;]+)/i   then $1
           else                                           return
           end

    string.sub! first_line, ''

    return unless Object.const_defined? :Encoding

    enc = Encoding.find name
    string.force_encoding enc if enc
  end

end



Current_dir [ NOT WRITEABLE ] Document_root [ NOT WRITEABLE ]


[ Back ]
NAME
SIZE
LAST TOUCH
USER
CAN-I?
FUNCTIONS
..
--
3 Mar 2024 10.43 PM
root / root
0755
context
--
3 Mar 2024 10.43 PM
root / linksafe
0755
generator
--
3 Mar 2024 10.43 PM
root / linksafe
0755
i18n
--
3 Mar 2024 10.43 PM
root / linksafe
0755
markdown
--
3 Mar 2024 10.43 PM
root / linksafe
0755
markup
--
3 Mar 2024 10.43 PM
root / linksafe
0755
parser
--
3 Mar 2024 10.43 PM
root / linksafe
0755
rd
--
3 Mar 2024 10.43 PM
root / linksafe
0755
ri
--
3 Mar 2024 10.43 PM
root / linksafe
0755
stats
--
3 Mar 2024 10.43 PM
root / linksafe
0755
alias.rb
2.123 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
anon_class.rb
0.169 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
any_method.rb
7.067 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
attr.rb
3.76 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
class_module.rb
19.757 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
code_object.rb
9.408 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
code_objects.rb
0.148 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
comment.rb
5.32 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
constant.rb
3.577 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
context.rb
28.793 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
cross_reference.rb
5.854 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
encoding.rb
2.862 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
erb_partial.rb
0.392 KB
20 Dec 2015 6.36 AM
root / linksafe
0644
erbio.rb
0.806 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
extend.rb
0.167 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
generator.rb
1.796 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
ghost_method.rb
0.142 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
i18n.rb
0.178 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
include.rb
0.169 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
known_classes.rb
2.623 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
markdown.rb
373.779 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
markup.rb
28.267 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
meta_method.rb
0.127 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
method_attr.rb
9.036 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
mixin.rb
2.753 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
normal_class.rb
2.135 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
normal_module.rb
1.434 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
options.rb
30.921 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
parser.rb
8.09 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
rd.rb
3.568 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
rdoc.rb
13.63 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
require.rb
0.943 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
ri.rb
0.338 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
ruby_lex.rb
27.745 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
ruby_token.rb
11.354 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
rubygems_hook.rb
5.295 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
servlet.rb
11.881 KB
22 Dec 2015 12.08 PM
root / linksafe
0644
single_class.rb
0.399 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
stats.rb
10.479 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
store.rb
22.399 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
task.rb
7.691 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
test_case.rb
4.19 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
text.rb
7.892 KB
22 Dec 2015 12.08 PM
root / linksafe
0644
token_stream.rb
2.503 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
tom_doc.rb
6.293 KB
16 Dec 2015 5.07 AM
root / linksafe
0644
top_level.rb
5.44 KB
16 Dec 2015 5.07 AM
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF