模块 Gem::SafeMarshal
此模块用于安全地从 gem 加载 Marshal
规范。此模块上定义的 ‘safe_load` 方法专门用于加载 Gem
规范。
常量
- PERMITTED_CLASSES
- PERMITTED_IVARS
- PERMITTED_SYMBOLS
公共类方法
源代码
# File lib/rubygems/safe_marshal.rb, line 64 def self.load(input, permitted_classes: [::Symbol], permitted_symbols: [], permitted_ivars: {}) root = Reader.new(StringIO.new(input, "r").binmode).read! Visitors::ToRuby.new( permitted_classes: permitted_classes, permitted_symbols: permitted_symbols, permitted_ivars: permitted_ivars, ).visit(root) end
源代码
# File lib/rubygems/safe_marshal.rb, line 60 def self.safe_load(input) load(input, permitted_classes: PERMITTED_CLASSES, permitted_symbols: PERMITTED_SYMBOLS, permitted_ivars: PERMITTED_IVARS) end