Class: Sevgi::Graphics::Content
- Inherits:
-
Object
- Object
- Sevgi::Graphics::Content
- Defined in:
- lib/sevgi/graphics/auxiliary/content.rb
Overview
Renderable text-like content inside an SVG element.
Defined Under Namespace
Classes: CData, CSS, Encoded, Verbatim
Instance Attribute Summary collapse
-
#content ⇒ Object
readonly
Returns the value of attribute content.
Class Method Summary collapse
-
.cdata(content) ⇒ Sevgi::Graphics::Content::CData
Builds CDATA content.
-
.contents(*args) ⇒ Array<Sevgi::Graphics::Content>
Wraps content arguments, encoding non-content values.
-
.css(content) ⇒ Sevgi::Graphics::Content::CSS
Builds CSS content.
-
.encoded(content) ⇒ Sevgi::Graphics::Content::Encoded
Builds XML text-encoded content.
-
.text(contents) ⇒ String
Joins content lines with newlines.
-
.verbatim(content) ⇒ Sevgi::Graphics::Content::Verbatim
Builds verbatim content.
Instance Method Summary collapse
-
#initialize(content) ⇒ void
constructor
Creates content.
-
#render(_renderer, _depth) ⇒ void
abstract
Renders content with a renderer.
-
#to_s ⇒ String
Returns content as a string.
Constructor Details
#initialize(content) ⇒ void
Creates content.
14 |
# File 'lib/sevgi/graphics/auxiliary/content.rb', line 14 def initialize(content) = @content = content |
Instance Attribute Details
#content ⇒ Object (readonly)
Returns the value of attribute content.
9 10 11 |
# File 'lib/sevgi/graphics/auxiliary/content.rb', line 9 def content @content end |
Class Method Details
.cdata(content) ⇒ Sevgi::Graphics::Content::CData
32 |
# File 'lib/sevgi/graphics/auxiliary/content.rb', line 32 def self.cdata(...) = CData.new(...) |
.contents(*args) ⇒ Array<Sevgi::Graphics::Content>
Wraps content arguments, encoding non-content values.
37 |
# File 'lib/sevgi/graphics/auxiliary/content.rb', line 37 def self.contents(*args) = args.map { it.is_a?(Content) ? it : encoded(it) } |
.css(content) ⇒ Sevgi::Graphics::Content::CSS
44 |
# File 'lib/sevgi/graphics/auxiliary/content.rb', line 44 def self.css(...) = CSS.new(...) |
.encoded(content) ⇒ Sevgi::Graphics::Content::Encoded
50 |
# File 'lib/sevgi/graphics/auxiliary/content.rb', line 50 def self.encoded(...) = Encoded.new(...) |
.text(contents) ⇒ String
Joins content lines with newlines.
55 |
# File 'lib/sevgi/graphics/auxiliary/content.rb', line 55 def self.text(contents) = Array(contents).join("\n") |
.verbatim(content) ⇒ Sevgi::Graphics::Content::Verbatim
61 |
# File 'lib/sevgi/graphics/auxiliary/content.rb', line 61 def self.verbatim(...) = Verbatim.new(...) |
Instance Method Details
#render(_renderer, _depth) ⇒ void
This method is abstract.
Subclasses implement content rendering.
This method returns an undefined value.
Renders content with a renderer.
22 |
# File 'lib/sevgi/graphics/auxiliary/content.rb', line 22 def render(_renderer, _depth) = PanicError.("#{self.class}#render must be implemented") |
#to_s ⇒ String
Returns content as a string.
26 |
# File 'lib/sevgi/graphics/auxiliary/content.rb', line 26 def to_s = content.to_s |