Module: Postsvg::Svg::Elements
- Defined in:
- lib/postsvg/svg/elements.rb,
lib/postsvg/svg/elements/svg.rb,
lib/postsvg/svg/elements/defs.rb,
lib/postsvg/svg/elements/line.rb,
lib/postsvg/svg/elements/path.rb,
lib/postsvg/svg/elements/rect.rb,
lib/postsvg/svg/elements/text.rb,
lib/postsvg/svg/elements/group.rb,
lib/postsvg/svg/elements/image.rb,
lib/postsvg/svg/elements/circle.rb,
lib/postsvg/svg/elements/ellipse.rb,
lib/postsvg/svg/elements/polygon.rb,
lib/postsvg/svg/elements/polyline.rb,
lib/postsvg/svg/elements/clip_path.rb
Overview
Element subclass catalogue. Each subclass is registered with its
SVG tag name. The load_all! class method forces each autoload
to fire; this populates the Element.registry so Svg::Parser can
dispatch by tag name.
Defined Under Namespace
Classes: Circle, ClipPath, Defs, Ellipse, Group, Image, Line, Path, Polygon, Polyline, Rect, Svg, Text
Class Method Summary
collapse
Class Method Details
.load_all! ⇒ Object
25
26
27
|
# File 'lib/postsvg/svg/elements.rb', line 25
def load_all!
constants.each { |c| const_get(c) }
end
|
.node_attributes(node) ⇒ Object
25
26
27
28
29
|
# File 'lib/postsvg/svg/elements/group.rb', line 25
def self.node_attributes(node)
attrs = {}
node.attribute_nodes.each { |a| attrs[a.name] = a.value }
attrs
end
|
.parse_clip_path_id(text) ⇒ Object
31
32
33
34
|
# File 'lib/postsvg/svg/elements/group.rb', line 31
def self.parse_clip_path_id(text)
m = text&.match(/url\(\s*["']?#([^)\s"']+)/)
m && m[1]
end
|