Sha256: 1f97741ceb0ba238ba11349f1be663077351e6cd916ede82d878629b5238e4ae

Contents?: true

Size: 653 Bytes

Versions: 5

Compression:

Stored size: 653 Bytes

Contents

require 'image_optim/worker'
require 'image_optim/option_helpers'

class ImageOptim
  class Worker
    class Pngout < Worker
      option(:copy_chunks, false, 'Copy optional chunks'){ |v| !!v }

      option(:strategy, 0, 'Strategy: `0` - xtreme, `1` - intense, `2` - longest Match, `3` - huffman Only, `4` - uncompressed') do |v|
        OptionHelpers.limit_with_range(v.to_i, 0..4)
      end

      # Always run first
      def run_order
        -1
      end

      def optimize(src, dst)
        args = %W[-k#{copy_chunks ? 1 : 0} -s#{strategy} -q -y #{src} #{dst}]
        execute(:pngout, *args) && optimized?(src, dst)
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
image_optim-0.13.3 lib/image_optim/worker/pngout.rb
image_optim-0.13.2 lib/image_optim/worker/pngout.rb
image_optim-0.13.1 lib/image_optim/worker/pngout.rb
image_optim-0.13.0 lib/image_optim/worker/pngout.rb
image_optim-0.12.1 lib/image_optim/worker/pngout.rb