Class: Lutaml::Xsd::Spa::Svg::DefsBuilder

Inherits:
Object
  • Object
show all
Defined in:
lib/lutaml/xsd/spa/svg/defs_builder.rb

Overview

Builds SVG <defs> section with gradients, filters, and icons

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(config) ⇒ DefsBuilder

Returns a new instance of DefsBuilder.



11
12
13
# File 'lib/lutaml/xsd/spa/svg/defs_builder.rb', line 11

def initialize(config)
  @config = config
end

Instance Attribute Details

#configObject (readonly)

Returns the value of attribute config.



9
10
11
# File 'lib/lutaml/xsd/spa/svg/defs_builder.rb', line 9

def config
  @config
end

Instance Method Details

#buildObject



15
16
17
18
19
20
21
22
# File 'lib/lutaml/xsd/spa/svg/defs_builder.rb', line 15

def build
  parts = []
  parts << build_gradients if config.effects.gradient_enabled?
  parts << build_filters if config.effects.shadow_enabled?
  parts << build_icons

  "<defs>\n#{parts.join("\n")}\n</defs>"
end