Module: Sevgi::Standard
- Extended by:
- Standard
- Included in:
- Standard
- Defined in:
- lib/sevgi/standard.rb,
lib/sevgi/standard/data.rb,
lib/sevgi/standard/model.rb,
lib/sevgi/standard/conform.rb,
lib/sevgi/standard/version.rb,
lib/sevgi/standard/internal.rb,
lib/sevgi/standard/data/color.rb,
lib/sevgi/standard/data/element.rb,
lib/sevgi/standard/data/attribute.rb,
lib/sevgi/standard/data/specification.rb
Overview
SVG standard data and validation helpers.
Constant Summary collapse
- VERSION =
Current version of the Sevgi standard gem.
"0.93.1"- Color =
Recognized SVG color keyword names mapped to hexadecimal RGB values.
{ aliceblue: "#F0F8FF", antiquewhite: "#FAEBD7", aqua: "#00FFFF", aquamarine: "#7FFFD4", azure: "#F0FFFF", beige: "#F5F5DC", bisque: "#FFE4C4", black: "#000000", blanchedalmond: "#FFEBCD", blue: "#0000FF", blueviolet: "#8A2BE2", brown: "#A52A2A", burlywood: "#DEB887", cadetblue: "#5F9EA0", chartreuse: "#7FFF00", chocolate: "#D2691E", coral: "#FF7F50", cornflowerblue: "#6495ED", cornsilk: "#FFF8DC", crimson: "#DC143C", cyan: "#00FFFF", darkblue: "#00008B", darkcyan: "#008B8B", darkgoldenrod: "#B8860B", darkgray: "#A9A9A9", darkgreen: "#006400", darkgrey: "#A9A9A9", darkkhaki: "#BDB76B", darkmagenta: "#8B008B", darkolivegreen: "#556B2F", darkorange: "#FF8C00", darkorchid: "#9932CC", darkred: "#8B0000", darksalmon: "#E9967A", darkseagreen: "#8FBC8F", darkslateblue: "#483D8B", darkslategray: "#2F4F4F", darkslategrey: "#2F4F4F", darkturquoise: "#00CED1", darkviolet: "#9400D3", deeppink: "#FF1493", deepskyblue: "#00BFFF", dimgray: "#696969", dimgrey: "#696969", dodgerblue: "#1E90FF", firebrick: "#B22222", floralwhite: "#FFFAF0", forestgreen: "#228B22", fuchsia: "#FF00FF", gainsboro: "#DCDCDC", ghostwhite: "#F8F8FF", gold: "#FFD700", goldenrod: "#DAA520", gray: "#808080", grey: "#808080", green: "#008000", greenyellow: "#ADFF2F", honeydew: "#F0FFF0", hotpink: "#FF69B4", indianred: "#CD5C5C", indigo: "#4B0082", ivory: "#FFFFF0", khaki: "#F0E68C", lavender: "#E6E6FA", lavenderblush: "#FFF0F5", lawngreen: "#7CFC00", lemonchiffon: "#FFFACD", lightblue: "#ADD8E6", lightcoral: "#F08080", lightcyan: "#E0FFFF", lightgoldenrodyellow: "#FAFAD2", lightgray: "#D3D3D3", lightgreen: "#90EE90", lightgrey: "#D3D3D3", lightpink: "#FFB6C1", lightsalmon: "#FFA07A", lightseagreen: "#20B2AA", lightskyblue: "#87CEFA", lightslategray: "#778899", lightslategrey: "#778899", lightsteelblue: "#B0C4DE", lightyellow: "#FFFFE0", lime: "#00FF00", limegreen: "#32CD32", linen: "#FAF0E6", magenta: "#FF00FF", maroon: "#800000", mediumaquamarine: "#66CDAA", mediumblue: "#0000CD", mediumorchid: "#BA55D3", mediumpurple: "#9370DB", mediumseagreen: "#3CB371", mediumslateblue: "#7B68EE", mediumspringgreen: "#00FA9A", mediumturquoise: "#48D1CC", mediumvioletred: "#C71585", midnightblue: "#191970", mintcream: "#F5FFFA", mistyrose: "#FFE4E1", moccasin: "#FFE4B5", navajowhite: "#FFDEAD", navy: "#000080", oldlace: "#FDF5E6", olive: "#808000", olivedrab: "#6B8E23", orange: "#FFA500", orangered: "#FF4500", orchid: "#DA70D6", palegoldenrod: "#EEE8AA", palegreen: "#98FB98", paleturquoise: "#AFEEEE", palevioletred: "#DB7093", papayawhip: "#FFEFD5", peachpuff: "#FFDAB9", peru: "#CD853F", pink: "#FFC0CB", plum: "#DDA0DD", powderblue: "#B0E0E6", purple: "#800080", red: "#FF0000", rosybrown: "#BC8F8F", royalblue: "#4169E1", saddlebrown: "#8B4513", salmon: "#FA8072", sandybrown: "#F4A460", seagreen: "#2E8B57", seashell: "#FFF5EE", sienna: "#A0522D", silver: "#C0C0C0", skyblue: "#87CEEB", slateblue: "#6A5ACD", slategray: "#708090", slategrey: "#708090", snow: "#FFFAFA", springgreen: "#00FF7F", steelblue: "#4682B4", tan: "#D2B48C", teal: "#008080", thistle: "#D8BFD8", tomato: "#FF6347", turquoise: "#40E0D0", violet: "#EE82EE", wheat: "#F5DEB3", white: "#FFFFFF", whitesmoke: "#F5F5F5", yellow: "#FFFF00", yellowgreen: "#9ACD32" } .tap do |color| def color.valid?(name) = name.respond_to?(:to_sym) && key?(name.to_sym) color.each { |name, hex| color.define_singleton_method(name) { hex } } end .freeze
Instance Method Summary collapse
-
#attribute?(name) ⇒ Boolean
Reports whether an attribute name is recognized by the SVG standard data.
-
#attributes(*groups) ⇒ Set<Symbol>
Returns SVG attributes, optionally restricted to one or more attribute groups.
-
#conform(element, attributes: nil, cdata: nil, elements: nil) ⇒ Boolean
Validates an SVG element usage against the standard data.
-
#element?(name) ⇒ Boolean
Reports whether an element name is recognized by the SVG standard data.
-
#elements(*groups) ⇒ Set<Symbol>
Returns SVG elements, optionally restricted to one or more element groups.
-
#model?(name, *models) ⇒ Boolean
Checks whether an element uses one of the requested content models.
-
#specification(name) ⇒ Hash?
(also: #[])
Returns the expanded standard contract for an SVG element.
Instance Method Details
#attribute?(name) ⇒ Boolean
Reports whether an attribute name is recognized by the SVG standard data.
27 |
# File 'lib/sevgi/standard.rb', line 27 def attribute?(name) = name.respond_to?(:to_sym) && Attribute.all.include?(name.to_sym) |
#attributes(*groups) ⇒ Set<Symbol>
22 |
# File 'lib/sevgi/standard.rb', line 22 def attributes(...) = Attribute.set(...) |
#conform(element, attributes: nil, cdata: nil, elements: nil) ⇒ Boolean
38 |
# File 'lib/sevgi/standard.rb', line 38 def conform(...) = Conform.(...) |
#element?(name) ⇒ Boolean
Reports whether an element name is recognized by the SVG standard data.
49 |
# File 'lib/sevgi/standard.rb', line 49 def element?(name) = name.respond_to?(:to_sym) && Element.all.include?(name.to_sym) |
#elements(*groups) ⇒ Set<Symbol>
44 |
# File 'lib/sevgi/standard.rb', line 44 def elements(...) = Element.set(...) |
#model?(name, *models) ⇒ Boolean
56 |
# File 'lib/sevgi/standard.rb', line 56 def model?(...) = Specification.model?(...) |
#specification(name) ⇒ Hash? Also known as: []
Returns the expanded standard contract for an SVG element.
61 |
# File 'lib/sevgi/standard.rb', line 61 def specification(name) = name.respond_to?(:to_sym) ? Specification[name.to_sym] : nil |