Module: Bundler::SafeMarshal

Defined in:
lib/bundler/safe_marshal.rb

Constant Summary collapse

ALLOWED_CLASSES =
[
  Array,
  FalseClass,
  Gem::Specification,
  Gem::Version,
  Hash,
  String,
  Symbol,
  Time,
  TrueClass,
].freeze
ERROR =
"Unexpected class %s present in marshaled data. Only %s are allowed."
PROC =
proc do |object|
  object.tap do
    unless ALLOWED_CLASSES.include?(object.class)
      raise TypeError, format(ERROR, object.class, ALLOWED_CLASSES.join(", "))
    end
  end
end

Class Method Summary collapse

Class Method Details

.procObject



27
28
29
# File 'lib/bundler/safe_marshal.rb', line 27

def self.proc
  PROC
end