Sha256: 7426dc53c4f5538280250acf417c7e65c15cd94747c352ef7c21da2fa2abc948

Contents?: true

Size: 597 Bytes

Versions: 153

Compression:

Stored size: 597 Bytes

Contents

# frozen_string_literal: true

module Bundler
  module SafeMarshal
    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

    def self.proc
      PROC
    end
  end
end

Version data entries

153 entries across 153 versions & 5 rubygems

Version Path
rubygems-update-3.6.3 bundler/lib/bundler/safe_marshal.rb
bundler-2.6.3 lib/bundler/safe_marshal.rb
minato_ruby_api_client-0.2.2 vendor/bundle/ruby/3.2.0/gems/bundler-2.5.5/lib/bundler/safe_marshal.rb
rubygems-update-3.6.2 bundler/lib/bundler/safe_marshal.rb
bundler-2.6.2 lib/bundler/safe_marshal.rb
rubygems-update-3.6.1 bundler/lib/bundler/safe_marshal.rb
bundler-2.6.1 lib/bundler/safe_marshal.rb
rubygems-update-3.6.0 bundler/lib/bundler/safe_marshal.rb
bundler-2.6.0 lib/bundler/safe_marshal.rb
direct7-0.0.18 vendor/bundle/ruby/2.7.0/gems/bundler-2.4.21/lib/bundler/safe_marshal.rb
direct7-0.0.17 vendor/bundle/ruby/2.7.0/gems/bundler-2.4.21/lib/bundler/safe_marshal.rb
rubygems-update-3.5.23 bundler/lib/bundler/safe_marshal.rb
bundler-2.5.23 lib/bundler/safe_marshal.rb
direct7-0.0.16 vendor/bundle/ruby/2.7.0/gems/bundler-2.4.21/lib/bundler/safe_marshal.rb
rubygems-update-3.5.22 bundler/lib/bundler/safe_marshal.rb
bundler-2.5.22 lib/bundler/safe_marshal.rb
rubygems-update-3.5.21 bundler/lib/bundler/safe_marshal.rb
bundler-2.5.21 lib/bundler/safe_marshal.rb
rubygems-update-3.5.20 bundler/lib/bundler/safe_marshal.rb
bundler-2.5.20 lib/bundler/safe_marshal.rb