Module: LZ4Native

Defined in:
lib/lz4_native.rb,
lib/lz4_native/version.rb,
ext/lz4_native/lz4_native.c

Defined Under Namespace

Modules: LZ4, LZ4Frame, LZ4HC Classes: CompressionError, DecompressionError, Error, FrameError

Constant Summary collapse

VERSION =
"1.0.1"

Class Method Summary collapse

Class Method Details

.compress(data) ⇒ String

Simple block compression using default LZ4

Parameters:

  • data (String)

    Data to compress

Returns:

  • (String)

    Compressed data



13
14
15
# File 'lib/lz4_native.rb', line 13

def self.compress(data)
  LZ4.compress_default(data)
end

.compress_frame(data, options = {}) ⇒ String

Frame compression (self-contained format)

Parameters:

  • data (String)

    Data to compress

  • options (Hash) (defaults to: {})

    Frame compression options

Returns:

  • (String)

    Compressed frame



37
38
39
# File 'lib/lz4_native.rb', line 37

def self.compress_frame(data, options = {})
  LZ4Frame.compress_frame(data, options)
end

.compress_hc(data, level = 9) ⇒ String

High compression mode

Parameters:

  • data (String)

    Data to compress

  • level (Integer) (defaults to: 9)

    Compression level (1-12, default 9)

Returns:

  • (String)

    Compressed data



29
30
31
# File 'lib/lz4_native.rb', line 29

def self.compress_hc(data, level = 9)
  LZ4HC.compress(data, level)
end

.decompress(data, max_size) ⇒ String

Simple block decompression

Parameters:

  • data (String)

    Compressed data

  • max_size (Integer)

    Maximum expected decompressed size

Returns:

  • (String)

    Decompressed data



21
22
23
# File 'lib/lz4_native.rb', line 21

def self.decompress(data, max_size)
  LZ4.decompress_safe(data, max_size)
end

.decompress_frame(data) ⇒ String

Frame decompression

Parameters:

  • data (String)

    Compressed frame data

Returns:

  • (String)

    Decompressed data



44
45
46
# File 'lib/lz4_native.rb', line 44

def self.decompress_frame(data)
  LZ4Frame.decompress_frame(data)
end