Class: Omnizip::Formats::Rar::Rar5::Compression::Store

Inherits:
Object
  • Object
show all
Defined in:
lib/omnizip/formats/rar/rar5/compression/store.rb

Overview

STORE compression method (uncompressed)

This is the simplest compression method - it stores data without any compression. The "compressed" size equals the original size.

Examples:

Compress data

compressed = Store.compress("Hello, World!")
compressed # => "Hello, World!"

Constant Summary collapse

METHOD =

Compression method identifier

0

Class Method Summary collapse

Class Method Details

.compress(data, _options = {}) ⇒ String

Compress data (passthrough for STORE)

Parameters:

  • data (String)

    Data to compress

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

    Options (ignored for STORE)

Returns:

  • (String)

    Uncompressed data



25
26
27
# File 'lib/omnizip/formats/rar/rar5/compression/store.rb', line 25

def self.compress(data, _options = {})
  data
end

.compression_infoInteger

Get compression info VINT value

For STORE, this is just the method ID (0) Bits 0-5: method (0=STORE) Bits 6+: version (0 for STORE)

Returns:

  • (Integer)

    Compression info value



52
53
54
# File 'lib/omnizip/formats/rar/rar5/compression/store.rb', line 52

def self.compression_info
  METHOD
end

.decompress(data, _options = {}) ⇒ String

Decompress data (passthrough for STORE)

Parameters:

  • data (String)

    Data to decompress

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

    Options (ignored for STORE)

Returns:

  • (String)

    Original data



34
35
36
# File 'lib/omnizip/formats/rar/rar5/compression/store.rb', line 34

def self.decompress(data, _options = {})
  data
end

.method_idInteger

Get compression method identifier

Returns:

  • (Integer)

    Method ID (0 for STORE)



41
42
43
# File 'lib/omnizip/formats/rar/rar5/compression/store.rb', line 41

def self.method_id
  METHOD
end