method
compress!
v5.2.3 -
Show latest stable
- Class:
ActiveSupport::Cache::Entry
compress!(compress_threshold)private
No documentation available.
# File activesupport/lib/active_support/cache.rb, line 777
def compress!(compress_threshold)
case @value
when nil, true, false, Numeric
uncompressed_size = 0
when String
uncompressed_size = @value.bytesize
else
serialized = Marshal.dump(@value)
uncompressed_size = serialized.bytesize
end
if uncompressed_size >= compress_threshold
serialized ||= Marshal.dump(@value)
compressed = Zlib::Deflate.deflate(serialized)
if compressed.bytesize < uncompressed_size
@value = compressed
@compressed = true
end
end
end