Module: ActiveSupport::Cache::SerializerWithFallback::Marshal70WithFallback
- Extended by:
- Marshal70WithFallback
- Included in:
- Marshal70WithFallback
- Defined in:
- lib/active_support/cache/serializer_with_fallback.rb
Constant Summary collapse
- MARK_UNCOMPRESSED =
"\x00".b.freeze
- MARK_COMPRESSED =
"\x01".b.freeze
Instance Method Summary collapse
- #_load(marked) ⇒ Object
- #dump(entry) ⇒ Object
- #dump_compressed(entry, threshold) ⇒ Object
- #dumped?(dumped) ⇒ Boolean
Methods included from ActiveSupport::Cache::SerializerWithFallback
Instance Method Details
#_load(marked) ⇒ Object
88 89 90 91 92 |
# File 'lib/active_support/cache/serializer_with_fallback.rb', line 88 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) ⇒ Object
73 74 75 |
# File 'lib/active_support/cache/serializer_with_fallback.rb', line 73 def dump(entry) MARK_UNCOMPRESSED + Marshal.dump(entry.pack) end |
#dump_compressed(entry, threshold) ⇒ Object
77 78 79 80 81 82 83 84 85 86 |
# File 'lib/active_support/cache/serializer_with_fallback.rb', line 77 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) ⇒ Boolean
94 95 96 |
# File 'lib/active_support/cache/serializer_with_fallback.rb', line 94 def dumped?(dumped) dumped.start_with?(MARK_UNCOMPRESSED, MARK_COMPRESSED) end |