lib/rocket_job/sliced/encrypted_slice.rb in rocketjob-5.1.1 vs lib/rocket_job/sliced/encrypted_slice.rb in rocketjob-5.2.0.beta1
- old
+ new
@@ -1,30 +1,30 @@
-require 'symmetric-encryption'
+require "symmetric-encryption"
module RocketJob
module Sliced
# Compress the records within a slice
class EncryptedSlice < ::RocketJob::Sliced::Slice
private
def parse_records
- records = attributes.delete('records')
+ records = attributes.delete("records")
# Convert BSON::Binary to a string
binary_str = records.data
header = SymmetricEncryption::Header.new
header.parse(binary_str)
# Use the header that is present to decrypt the data, since its version could be different
str = header.cipher.binary_decrypt(binary_str, header: header)
- @records = Hash.from_bson(BSON::ByteBuffer.new(str))['r']
+ @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' => to_a}.to_bson.to_s
+ str = {"r" => to_a}.to_bson.to_s
# Encrypt to binary without applying an encoding such as Base64
# Use a random_iv with each encryption for better security
data = SymmetricEncryption.cipher.binary_encrypt(str, random_iv: true, compress: true)
BSON::Binary.new(data)