Class: Mmozjpeg::Cjpeg
- Inherits:
-
Object
- Object
- Mmozjpeg::Cjpeg
- Defined in:
- lib/mmozjpeg.rb
Class Method Summary collapse
- .optimize(infile:, outfile: nil, quality: nil, grayscale: nil, rgb: nil, optimize: nil, progressive: nil, targa: nil, arithmetic: nil, dct: nil, icc: nil, restart: nil, maxmemory: nil, memdst: nil, report: nil, verbose: nil, debug: nil, version: nil, baseline: nil, qtables: nil, qslots: nil, sample: nil, scans: nil) ⇒ Object
-
.supported? ⇒ True
Whether cjpeg exists or not?.
Class Method Details
.optimize(infile:, outfile: nil, quality: nil, grayscale: nil, rgb: nil, optimize: nil, progressive: nil, targa: nil, arithmetic: nil, dct: nil, icc: nil, restart: nil, maxmemory: nil, memdst: nil, report: nil, verbose: nil, debug: nil, version: nil, baseline: nil, qtables: nil, qslots: nil, sample: nil, scans: nil) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/mmozjpeg.rb', line 21 def optimize(infile:, outfile: nil, quality: nil, grayscale: nil, rgb: nil, optimize: nil, progressive: nil, targa: nil, arithmetic: nil, dct: nil, icc: nil, restart: nil, maxmemory: nil, memdst: nil, report: nil, verbose: nil, debug: nil, version: nil, baseline: nil, qtables: nil, qslots: nil, sample: nil, scans: nil) cjpeg = "cjpeg" unless quality.nil? parsed_quality = ["-quality", quality.split(",").map { |v| Integer(v) }.join(",")] end parsed_infile = Pathname(infile).cleanpath.to_s unless infile.nil? if !outfile.nil? || !grayscale.nil? || !rgb.nil? || !optimize.nil? || !progressive.nil? || !targa.nil? || !arithmetic.nil? || !dct.nil? || !icc.nil? || !restart.nil? || !maxmemory.nil? || !memdst.nil? || !report.nil? || !verbose.nil? || !debug.nil? || !version.nil? || !baseline.nil? || !qtables.nil? || !qslots.nil? || !sample.nil? || !scans.nil? raise Mmozjpeg::Error, "Oop, This option is'nt yet supported." end args = [cjpeg, parsed_quality, parsed_infile].select { |v| !v.nil? }.flatten! Open3.capture2(*args) end |
.supported? ⇒ True
Whether cjpeg exists or not?
13 14 15 16 17 18 19 |
# File 'lib/mmozjpeg.rb', line 13 def supported? args = ["cjpeg", "-version"] _, _, s = Open3.capture3(*args) s rescue Errno::ENOENT false end |