Sha256: 7478f84a913375fbcaea268e33d5f707b0253e7262673ba80e2374acacc03bf2
Contents?: true
Size: 730 Bytes
Versions: 2
Compression:
Stored size: 730 Bytes
Contents
require 'zlib' module RocketJob module Sliced # Compress the records within a slice class CompressedSlice < ::RocketJob::Sliced::Slice private def parse_records records = attributes.delete('records') # Convert BSON::Binary to a string binary_str = records.data str = Zlib::Inflate.inflate(binary_str) @records = Hash.from_bson(BSON::ByteBuffer.new(str))['r'] end def serialize_records return [] if @records.nil? || @records.empty? # Convert slice of records into a single string str = {'r' => records.to_a}.to_bson.to_s data = Zlib::Deflate.deflate(str) BSON::Binary.new(data) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rocketjob-5.1.1 | lib/rocket_job/sliced/compressed_slice.rb |
rocketjob-5.1.0 | lib/rocket_job/sliced/compressed_slice.rb |