Class: SvgoOptions

Inherits:
Object
  • Object
show all
Defined in:
lib/svgo.rb

Instance Method Summary collapse

Constructor Details

#initialize {|@options| ... } ⇒ SvgoOptions

Returns a new instance of SvgoOptions.

Yields:

  • (@options)


46
47
48
49
50
51
52
53
# File 'lib/svgo.rb', line 46

def initialize
    @options = OpenStruct.new(
        js2svg: OpenStruct.new(pretty: false),
        plugins: PLUGINS_DEFAULT.map { | p | [ p, true ] }.to_h,
        multipass: false
    )
    yield @options if block_given?
end

Instance Method Details

#[](key) ⇒ Object



100
101
102
# File 'lib/svgo.rb', line 100

def [](key)
    @options[key.to_sym]
end

#floatPrecisionObject



84
85
86
# File 'lib/svgo.rb', line 84

def floatPrecision
    @options.floatPrecision
end

#floatPrecision=(floatPrecision) ⇒ Object



88
89
90
# File 'lib/svgo.rb', line 88

def floatPrecision=(floatPrecision)
    @options.floatPrecision = floatPrecision
end

#get_options(*args) ⇒ Object



55
56
57
58
59
60
61
62
# File 'lib/svgo.rb', line 55

def get_options(*args)
    options = @options.to_h
    options[:js2svg] = options[:js2svg].to_h
    options[:plugins] = options[:plugins].map { | plugin, params |
      {plugin => params}
    }
    options
end

#js2svgObject



68
69
70
# File 'lib/svgo.rb', line 68

def js2svg
    @options.js2svg
end

#js2svg=(js2svg) ⇒ Object



72
73
74
# File 'lib/svgo.rb', line 72

def js2svg=(js2svg)
    @options.js2svg = js2svg
end

#multipassObject



92
93
94
# File 'lib/svgo.rb', line 92

def multipass
    @options.multipass
end

#multipass=(multipass) ⇒ Object



96
97
98
# File 'lib/svgo.rb', line 96

def multipass=(multipass)
    @options.multipass = multipass
end

#pluginsObject



76
77
78
# File 'lib/svgo.rb', line 76

def plugins
    @options.plugins
end

#plugins=(plugins) ⇒ Object



80
81
82
# File 'lib/svgo.rb', line 80

def plugins=(plugins)
    @options.plugins = plugins
end

#runtimeObject



104
105
106
# File 'lib/svgo.rb', line 104

def runtime
    @options.runtime
end

#runtime=(runtime) ⇒ Object



108
109
110
# File 'lib/svgo.rb', line 108

def runtime=(runtime)
    @options.runtime = runtime
end

#to_sObject



64
65
66
# File 'lib/svgo.rb', line 64

def to_s
    get_options.to_json
end