Class: ImageOptim::Worker::Svgo

Inherits:
ImageOptim::Worker show all
Defined in:
lib/image_optim/worker/svgo.rb

Overview

Constant Summary collapse

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

Instance Method Summary collapse

Methods inherited from ImageOptim::Worker

#image_formats, #initialize, #inspect, #optimized?, #options, #resolve_used_bins!, #run_order, #used_bins

Methods included from ClassMethods

#bin_sym, #create_all, #create_all_by_format, extended, #inherited, #klasses, #option, #option_definitions

Constructor Details

This class inherits a constructor from ImageOptim::Worker

Instance Method Details

#optimize(src, dst, options = {}) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/image_optim/worker/svgo.rb', line 19

def optimize(src, dst, options = {})
  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, options) && optimized?(src, dst)
end