Class: CompareCompressors::XzCompressor
- Inherits:
-
Compressor
- Object
- Compressor
- CompareCompressors::XzCompressor
- Defined in:
- lib/compare_compressors/compressors/xz_compressor.rb
Overview
Compress with ‘xz` (LZMA).
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/xz_compressor.rb', line 29 def compression_command(target, level) ['xz', "-#{level}", target] end |
#decompression_command(target) ⇒ Object
33 34 35 |
# File 'lib/compare_compressors/compressors/xz_compressor.rb', line 33 def decompression_command(target) ['unxz', output_name(target)] end |
#extension ⇒ Object
12 13 14 |
# File 'lib/compare_compressors/compressors/xz_compressor.rb', line 12 def extension 'xz' end |
#levels ⇒ Object
16 17 18 |
# File 'lib/compare_compressors/compressors/xz_compressor.rb', line 16 def levels (0..9).to_a end |
#name ⇒ Object
8 9 10 |
# File 'lib/compare_compressors/compressors/xz_compressor.rb', line 8 def name 'xz' end |
#version ⇒ Object
20 21 22 23 24 25 26 27 |
# File 'lib/compare_compressors/compressors/xz_compressor.rb', line 20 def version status, _times, out, _err = run(name, '--version') return nil unless status.zero? version_line = out.lines.first.chomp raise "bad version line #{version_line}" unless version_line =~ /([0-9.a-z]+)$/ Regexp.last_match(1) end |