$55 GRAYBYTE WORDPRESS FILE MANAGER $70

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/psych/

HOME
Current File : /opt/alt/ruby23/lib64/ruby/2.3.0/psych//class_loader.rb
# frozen_string_literal: false
require 'psych/omap'
require 'psych/set'

module Psych
  class ClassLoader # :nodoc:
    BIG_DECIMAL = 'BigDecimal'
    COMPLEX     = 'Complex'
    DATE        = 'Date'
    DATE_TIME   = 'DateTime'
    EXCEPTION   = 'Exception'
    OBJECT      = 'Object'
    PSYCH_OMAP  = 'Psych::Omap'
    PSYCH_SET   = 'Psych::Set'
    RANGE       = 'Range'
    RATIONAL    = 'Rational'
    REGEXP      = 'Regexp'
    STRUCT      = 'Struct'
    SYMBOL      = 'Symbol'

    def initialize
      @cache = CACHE.dup
    end

    def load klassname
      return nil if !klassname || klassname.empty?

      find klassname
    end

    def symbolize sym
      symbol
      sym.to_sym
    end

    constants.each do |const|
      konst = const_get const
      define_method(const.to_s.downcase) do
        load konst
      end
    end

    private

    def find klassname
      @cache[klassname] ||= resolve(klassname)
    end

    def resolve klassname
      name    = klassname
      retried = false

      begin
        path2class(name)
      rescue ArgumentError, NameError => ex
        unless retried
          name    = "Struct::#{name}"
          retried = ex
          retry
        end
        raise retried
      end
    end

    CACHE = Hash[constants.map { |const|
      val = const_get const
      begin
        [val, ::Object.const_get(val)]
      rescue
        nil
      end
    }.compact]

    class Restricted < ClassLoader
      def initialize classes, symbols
        @classes = classes
        @symbols = symbols
        super()
      end

      def symbolize sym
        return super if @symbols.empty?

        if @symbols.include? sym
          super
        else
          raise DisallowedClass, 'Symbol'
        end
      end

      private

      def find klassname
        if @classes.include? klassname
          super
        else
          raise DisallowedClass, klassname
        end
      end
    end
  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
handlers
--
3 Mar 2024 10.43 PM
root / linksafe
0755
json
--
3 Mar 2024 10.43 PM
root / linksafe
0755
nodes
--
3 Mar 2024 10.43 PM
root / linksafe
0755
visitors
--
3 Mar 2024 10.43 PM
root / linksafe
0755
class_loader.rb
1.91 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
coder.rb
2.05 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
core_ext.rb
0.764 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
deprecated.rb
2.521 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
exception.rb
0.259 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
handler.rb
7.05 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
nodes.rb
2.355 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
omap.rb
0.074 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
parser.rb
1.672 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
scalar_scanner.rb
4.274 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
set.rb
0.073 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
stream.rb
0.902 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
streaming.rb
0.652 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
syntax_error.rb
0.572 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
tree_builder.rb
2.085 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
versions.rb
0.09 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
visitors.rb
0.231 KB
26 Jul 2023 2.39 PM
root / linksafe
0644
y.rb
0.187 KB
26 Jul 2023 2.39 PM
root / linksafe
0644

GRAYBYTE WORDPRESS FILE MANAGER @ 2025 CONTACT ME
Static GIF