Class: CompareCompressors::ZstdCompressor
- Inherits:
-
Compressor
- Object
- Compressor
- CompareCompressors::ZstdCompressor
- Defined in:
- lib/compare_compressors/compressors/zstd_compressor.rb
Overview
Compress with Zstandard.
Instance Method Summary collapse
- #compression_command(target, level) ⇒ Object
- #decompression_command(target) ⇒ Object
- #extension ⇒ Object
- #levels ⇒ Object
- #name ⇒ Object
- #version ⇒ Object
Methods inherited from Compressor
Instance Method Details
#compression_command(target, level) ⇒ Object
29 30 31 |
# File 'lib/compare_compressors/compressors/zstd_compressor.rb', line 29 def compression_command(target, level) ['zstd', "-#{level}", target] end |
#decompression_command(target) ⇒ Object
33 34 35 |
# File 'lib/compare_compressors/compressors/zstd_compressor.rb', line 33 def decompression_command(target) ['unzstd', output_name(target)] end |
#extension ⇒ Object
12 13 14 |
# File 'lib/compare_compressors/compressors/zstd_compressor.rb', line 12 def extension 'zst' end |
#levels ⇒ Object
16 17 18 |
# File 'lib/compare_compressors/compressors/zstd_compressor.rb', line 16 def levels (1..19).to_a end |
#name ⇒ Object
8 9 10 |
# File 'lib/compare_compressors/compressors/zstd_compressor.rb', line 8 def name 'zstd' end |
#version ⇒ Object
20 21 22 23 24 25 26 27 |
# File 'lib/compare_compressors/compressors/zstd_compressor.rb', line 20 def version status, _times, out, _err = run(name, '-V') return nil unless status.zero? version_line = out.lines.first.chomp raise "bad version line #{version_line}" unless version_line =~ /([0-9.]+),/ Regexp.last_match(1) end |