Skip to Content Skip to Search

module ActiveSupport::Cache::SerializerWithFallback::Marshal70WithFallback

Inherits From

Constants

MARK_COMPRESSED

"\x01".b.freeze

MARK_UNCOMPRESSED

"\x00".b.freeze

Public instance methods

_load(marked)

Permalink
Source code GitHub
# File activesupport/lib/active_support/cache/serializer_with_fallback.rb, line 110
def _load(marked)
  dumped = marked.byteslice(1..-1)
  dumped = Zlib::Inflate.inflate(dumped) if marked.start_with?(MARK_COMPRESSED)
  Cache::Entry.unpack(marshal_load(dumped))
end

dump(entry)

Permalink
Source code GitHub
# File activesupport/lib/active_support/cache/serializer_with_fallback.rb, line 95
def dump(entry)
  MARK_UNCOMPRESSED + Marshal.dump(entry.pack)
end

dump_compressed(entry, threshold)

Permalink
Source code GitHub
# File activesupport/lib/active_support/cache/serializer_with_fallback.rb, line 99
def dump_compressed(entry, threshold)
  dumped = Marshal.dump(entry.pack)

  if dumped.bytesize >= threshold
    compressed = Zlib::Deflate.deflate(dumped)
    return MARK_COMPRESSED + compressed if compressed.bytesize < dumped.bytesize
  end

  MARK_UNCOMPRESSED + dumped
end

dumped?(dumped)

Permalink
Source code GitHub
# File activesupport/lib/active_support/cache/serializer_with_fallback.rb, line 116
def dumped?(dumped)
  dumped.start_with?(MARK_UNCOMPRESSED, MARK_COMPRESSED)
end

Definition files