class StoreAgent::DataEncoder::GzipEncoder
データをgzip圧縮して保存するためのエンコーダ
使用する際には StoreAgent.configure
で初期化時に指定する
StoreAgent.configure do |c| c.storage_data_encoders = [StoreAgent::DataEncoder::GzipEncoder.new] end
Public Instance Methods
decode(encrypted_data, **_)
click to toggle source
Calls superclass method
StoreAgent::DataEncoder#decode
# File lib/store_agent/data_encoder/gzip_encoder.rb, line 40 def decode(encrypted_data, **_) super do sio = StringIO.new(encrypted_data, "r") Zlib::GzipReader.wrap(sio) do |gz| gz.read end end end
encode(data, **_)
click to toggle source
Calls superclass method
StoreAgent::DataEncoder#encode
# File lib/store_agent/data_encoder/gzip_encoder.rb, line 27 def encode(data, **_) super do StringIO.open("", "r+") do |sio| Zlib::GzipWriter.wrap(sio) do |gz| gz.write(data) gz.finish end sio.rewind sio.read end end end