Sha256: 949849e5649ffd7262f5cc320edae6b64f5937d106a58d23d7f914f67f3fd40b

Contents?: true

Size: 808 Bytes

Versions: 14

Compression:

Stored size: 808 Bytes

Contents

require 'image_optim/worker'

class ImageOptim
  class Worker
    # https://github.com/svg/svgo
    class Svgo < Worker
      DISABLE_PLUGINS_OPTION =
      option(:disable_plugins, [], 'List of plugins to disable') do |v|
        Array(v).map(&:to_s)
      end

      ENABLE_PLUGINS_OPTION =
      option(:enable_plugins, [], 'List of plugins to enable') do |v|
        Array(v).map(&:to_s)
      end

      def optimize(src, dst)
        args = %W[
          --input #{src}
          --output #{dst}
        ]
        disable_plugins.each do |plugin_name|
          args.unshift "--disable=#{plugin_name}"
        end
        enable_plugins.each do |plugin_name|
          args.unshift "--enable=#{plugin_name}"
        end
        execute(:svgo, *args) && optimized?(src, dst)
      end
    end
  end
end

Version data entries

14 entries across 14 versions & 3 rubygems

Version Path
image_optim-0.26.3 lib/image_optim/worker/svgo.rb
image_optim-0.26.2 lib/image_optim/worker/svgo.rb
discourse_image_optim-0.26.2 lib/image_optim/worker/svgo.rb
image_optim-0.26.1 lib/image_optim/worker/svgo.rb
image_optim-0.26.0 lib/image_optim/worker/svgo.rb
image_optim-0.25.0 lib/image_optim/worker/svgo.rb
image_optim-0.24.3 lib/image_optim/worker/svgo.rb
image_optim-0.24.2 lib/image_optim/worker/svgo.rb
image_optim-0.24.1 lib/image_optim/worker/svgo.rb
image_optim-0.24.0 lib/image_optim/worker/svgo.rb
image_optim-0.23.0 lib/image_optim/worker/svgo.rb
image_optim-0.22.1 lib/image_optim/worker/svgo.rb
image_optim-0.22.0 lib/image_optim/worker/svgo.rb
openstreetmap-image_optim-0.21.0.1 lib/image_optim/worker/svgo.rb