Module: Datadog::Utils::Compression

Defined in:
lib/ddtrace/utils/compression.rb

Overview

Common database-related utility functions.

Class Method Summary collapse

Class Method Details

.gunzip(string, encoding = ::Encoding::ASCII_8BIT) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/ddtrace/utils/compression.rb', line 19

def gunzip(string, encoding = ::Encoding::ASCII_8BIT)
  sio = StringIO.new(string)
  gz = Zlib::GzipReader.new(sio, encoding: encoding)
  gz.read
ensure
  gz && gz.close
end

.gzip(string, level: nil, strategy: nil) ⇒ Object



10
11
12
13
14
15
16
17
# File 'lib/ddtrace/utils/compression.rb', line 10

def gzip(string, level: nil, strategy: nil)
  sio = StringIO.new
  sio.binmode
  gz = Zlib::GzipWriter.new(sio, level, strategy)
  gz.write(string)
  gz.close
  sio.string
end