X7ROOT File Manager
Current Path:
/opt/alt/ruby21/lib64/ruby/2.1.0/psych
opt
/
alt
/
ruby21
/
lib64
/
ruby
/
2.1.0
/
psych
/
??
..
??
class_loader.rb
(1.88 KB)
??
coder.rb
(2.02 KB)
??
core_ext.rb
(751 B)
??
deprecated.rb
(2.49 KB)
??
exception.rb
(234 B)
??
handler.rb
(7.02 KB)
??
handlers
??
json
??
nodes
??
nodes.rb
(2.33 KB)
??
omap.rb
(45 B)
??
parser.rb
(1.64 KB)
??
scalar_scanner.rb
(4.24 KB)
??
set.rb
(44 B)
??
stream.rb
(893 B)
??
streaming.rb
(637 B)
??
syntax_error.rb
(555 B)
??
tree_builder.rb
(2.05 KB)
??
visitors
??
visitors.rb
(206 B)
??
y.rb
(160 B)
Editing: class_loader.rb
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
Upload File
Create Folder