123456789_123456789_123456789_123456789_123456789_

Class: Psych::ClassLoader::Restricted

Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
self, ClassLoader
Instance Chain:
self, ClassLoader
Inherits: ClassLoader
  • ::Object
Defined in: ext/psych/lib/psych/class_loader.rb

Class Method Summary

Instance Method Summary

Constructor Details

.new(classes, symbols) ⇒ Restricted

[ GitHub ]

  
# File 'ext/psych/lib/psych/class_loader.rb', line 78

def initialize classes, symbols
  @classes = classes
  @symbols = symbols
  super()
end

Instance Method Details

#find(klassname) (private)

[ GitHub ]

  
# File 'ext/psych/lib/psych/class_loader.rb', line 96

def find klassname
  if @classes.include? klassname
    super
  else
    raise DisallowedClass.new('load', klassname)
  end
end

#symbolize(sym)

[ GitHub ]

  
# File 'ext/psych/lib/psych/class_loader.rb', line 84

def symbolize sym
  return super if @symbols.empty?

  if @symbols.include? sym
    super
  else
    raise DisallowedClass.new('load', 'Symbol')
  end
end