Class: CompareCompressors::BrotliCompressor

Inherits:
Compressor
  • Object
show all
Defined in:
lib/compare_compressors/compressors/brotli_compressor.rb

Overview

Compress with Brotli.

Note: At present, the command does not seem to have anything that prints a version, so we can’t implement ‘version`.

Instance Method Summary collapse

Methods inherited from Compressor

#display_name, #evaluate, #version

Instance Method Details

#compression_command(target, level) ⇒ Object



25
26
27
28
29
30
31
32
# File 'lib/compare_compressors/compressors/brotli_compressor.rb', line 25

def compression_command(target, level)
  [
    'brotli',
    '--input', target,
    '--output', output_name(target),
    '--quality', level.to_s
  ]
end

#decompression_command(target) ⇒ Object



34
35
36
37
38
39
40
41
# File 'lib/compare_compressors/compressors/brotli_compressor.rb', line 34

def decompression_command(target)
  [
    'brotli',
    '--decompress',
    '--input', output_name(target),
    '--output', target
  ]
end

#extensionObject



15
16
17
# File 'lib/compare_compressors/compressors/brotli_compressor.rb', line 15

def extension
  'bro'
end

#levelsObject

Can’t find any documentation about this, so this is based on github.com/google/brotli/blob/cdca91b6f59dd7632985667d2cd585ab68937b48/enc/quality.h



21
22
23
# File 'lib/compare_compressors/compressors/brotli_compressor.rb', line 21

def levels
  (0..11).to_a
end

#nameObject



11
12
13
# File 'lib/compare_compressors/compressors/brotli_compressor.rb', line 11

def name
  'brotli'
end