class Mmozjpeg::Cjpeg

Public Class Methods

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) click to toggle source
# 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?() click to toggle source

Whether cjpeg exists or not? @return [True] “cjpeg” exists,

[False] "cjpeg" NOT exists
# File lib/mmozjpeg.rb, line 13
def supported?
  args = ["cjpeg", "-version"]
  _, _, s = Open3.capture3(*args)
  s
rescue Errno::ENOENT
  false
end