class ImageOptim::Worker::Gifsicle
Constants
- CAREFUL_OPTION
- INTERLACE_OPTION
- LEVEL_OPTION
Public Class Methods
init(image_optim, options = {})
click to toggle source
If interlace specified initialize one instance Otherwise initialize two, one with interlace off and one with on
Calls superclass method
# File lib/image_optim/worker/gifsicle.rb, line 9 def self.init(image_optim, options = {}) return super if options.key?(:interlace) [false, true].map do |interlace| new(image_optim, options.merge(:interlace => interlace)) end end
Public Instance Methods
optimize(src, dst)
click to toggle source
# File lib/image_optim/worker/gifsicle.rb, line 38 def optimize(src, dst) args = %W[ --output=#{dst} --no-comments --no-names --same-delay --same-loopcount --no-warnings -- #{src} ] if resolve_bin!(:gifsicle).version >= '1.85' args.unshift '--no-extensions', '--no-app-extensions' end unless interlace.nil? args.unshift interlace ? '--interlace' : '--no-interlace' end args.unshift '--careful' if careful args.unshift "--optimize=#{level}" if level execute(:gifsicle, *args) && optimized?(src, dst) end