Class: SvgOptimizer
- Inherits:
-
Object
- Object
- SvgOptimizer
- Defined in:
- lib/svgo.rb
Instance Method Summary collapse
-
#initialize(options = SvgoOptions.new) {|options| ... } ⇒ SvgOptimizer
constructor
A new instance of SvgOptimizer.
- #optimize(svg_data) ⇒ Object
- #optimize_file(svg_file) ⇒ Object
Constructor Details
#initialize(options = SvgoOptions.new) {|options| ... } ⇒ SvgOptimizer
Returns a new instance of SvgOptimizer.
105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 |
# File 'lib/svgo.rb', line 105 def initialize(=SvgoOptions.new) yield if block_given? if .is_a? SvgoOptions = . else = end if not [:plugins] [:plugins] = PLUGINS_DEFAULT end if [:plugins].is_a? Array [:plugins] = [:plugins].map {|p| [p, true]}.to_h end svgo_js = File.("../../svgo-js/svgo-built.js", __FILE__) svgo_module = File.open(svgo_js, "r:utf-8", &:read) @context = ExecJS.compile(svgo_module) end |
Instance Method Details
#optimize(svg_data) ⇒ Object
123 124 125 |
# File 'lib/svgo.rb', line 123 def optimize(svg_data) @context.call("svgo", .to_json, svg_data.to_s); end |
#optimize_file(svg_file) ⇒ Object
127 128 129 |
# File 'lib/svgo.rb', line 127 def optimize_file(svg_file) optimize(File.read(svg_file)) end |