Class: ImageOptim::Worker::Jpegoptim
- Inherits:
-
ImageOptim::Worker
- Object
- ImageOptim::Worker
- ImageOptim::Worker::Jpegoptim
- Defined in:
- lib/image_optim/worker/jpegoptim.rb
Overview
Constant Summary collapse
- STRIP_OPTION =
option(:strip, :all, Array, 'List of extra markers to strip: '\ '`:comments`, '\ '`:exif`, '\ '`:iptc`, '\ '`:icc` or '\ '`:all`') do |v| values = Array(v).map(&:to_s) known_values = %w[all comments exif iptc icc] unknown_values = values - known_values unless unknown_values.empty? warn "Unknown markers for jpegoptim: #{unknown_values.join(', ')}" end values & known_values end
- MAX_QUALITY_OPTION =
option(:max_quality, 100, 'Maximum image quality factor '\ '`0`..`100`') do |v| OptionHelpers.limit_with_range(v.to_i, 0..100) end
Instance Method Summary collapse
- #optimize(src, dst) ⇒ Object
-
#run_order ⇒ Object
Run first [-1] if max_quality < 100 otherwise with normal priority.
Methods inherited from ImageOptim::Worker
#<=>, bin_sym, #image_formats, inherited, #initialize, klasses, #optimized?, option, option_definitions
Constructor Details
This class inherits a constructor from ImageOptim::Worker
Instance Method Details
#optimize(src, dst) ⇒ Object
35 36 37 38 39 40 41 42 43 |
# File 'lib/image_optim/worker/jpegoptim.rb', line 35 def optimize(src, dst) src.copy(dst) args = %W[-q -- #{dst}] strip.each do |strip_marker| args.unshift "--strip-#{strip_marker}" end args.unshift "-m#{max_quality}" if max_quality < 100 execute(:jpegoptim, *args) && optimized?(src, dst) end |
#run_order ⇒ Object
Run first [-1] if max_quality < 100 otherwise with normal priority
31 32 33 |
# File 'lib/image_optim/worker/jpegoptim.rb', line 31 def run_order max_quality < 100 ? -1 : 0 end |