Module: Sevgi::Derender

Extended by:
Derender
Included in:
Derender
Defined in:
lib/sevgi/derender.rb,
lib/sevgi/derender/node.rb,
lib/sevgi/derender/version.rb,
lib/sevgi/derender/document.rb,
lib/sevgi/derender/elements.rb,
lib/sevgi/derender/internal.rb,
lib/sevgi/derender/attributes.rb,
lib/sevgi/derender/elements/any.rb,
lib/sevgi/derender/elements/css.rb,
lib/sevgi/derender/elements/junk.rb,
lib/sevgi/derender/elements/root.rb,
lib/sevgi/derender/elements/text.rb

Overview

Converts SVG/XML content into Sevgi DSL source or evaluates it into graphics elements.

Defined Under Namespace

Modules: Attributes, Elements Classes: Document, Node

Constant Summary collapse

VERSION =

Current version of the Sevgi derender gem.

"0.93.1"

Instance Method Summary collapse

Instance Method Details

#decompile(content, id: nil) ⇒ Sevgi::Derender::Node

Converts SVG/XML content into a derender node.

Parameters:

  • content (String)

    SVG/XML source content

  • id (String, nil) (defaults to: nil)

    optional SVG id selecting a node inside the source

Returns:

Raises:

  • (Sevgi::ArgumentError)

    when the id is absent



20
# File 'lib/sevgi/derender.rb', line 20

def decompile(content, id: nil) = Document.new(content).decompile(id)

#decompile_file(file, id: nil) ⇒ Sevgi::Derender::Node

Converts an SVG/XML file into a derender node.

Parameters:

  • file (String)

    path to the source SVG/XML file

  • id (String, nil) (defaults to: nil)

    optional SVG id selecting a node inside the source

Returns:

Raises:

  • (Sevgi::ArgumentError)

    when the file cannot be found or the id is absent



27
# File 'lib/sevgi/derender.rb', line 27

def decompile_file(file, id: nil) = Document.load_file(file).decompile(id)

#derender(content, id: nil) ⇒ String

Converts SVG/XML content into Sevgi DSL Ruby source.

Parameters:

  • content (String)

    SVG/XML source content

  • id (String, nil) (defaults to: nil)

    optional SVG id selecting a node inside the source

Returns:

  • (String)

    formatted Sevgi DSL source

Raises:

  • (Sevgi::ArgumentError)

    when the id is absent

  • (Sevgi::PanicError)

    when generated Ruby source cannot be formatted



35
# File 'lib/sevgi/derender.rb', line 35

def derender(content, id: nil) = Document.new(content).decompile(id).derender

#derender_file(file, id: nil) ⇒ String

Converts an SVG/XML file into Sevgi DSL Ruby source.

Parameters:

  • file (String)

    path to the source SVG/XML file

  • id (String, nil) (defaults to: nil)

    optional SVG id selecting a node inside the source

Returns:

  • (String)

    formatted Sevgi DSL source

Raises:

  • (Sevgi::ArgumentError)

    when the file cannot be found or the id is absent

  • (Sevgi::PanicError)

    when generated Ruby source cannot be formatted



43
# File 'lib/sevgi/derender.rb', line 43

def derender_file(file, id: nil) = Document.load_file(file).decompile(id).derender

#evaluate(content, element, id: nil) ⇒ Sevgi::Graphics::Element

Evaluates SVG/XML content under a graphics element, including the selected node.

Parameters:

  • content (String)

    SVG/XML source content

  • element (Sevgi::Graphics::Element)

    target graphics element

  • id (String, nil) (defaults to: nil)

    optional SVG id selecting a node inside the source

Returns:

  • (Sevgi::Graphics::Element)

    target graphics element

Raises:

  • (Sevgi::ArgumentError)

    when the id is absent

  • (Sevgi::PanicError)

    when generated Ruby source cannot be formatted



52
# File 'lib/sevgi/derender.rb', line 52

def evaluate(content, element, id: nil) = Document.new(content).decompile(id).evaluate(element)

#evaluate!(content, element, id: nil) ⇒ Sevgi::Graphics::Element

Evaluates SVG/XML content under a graphics element, excluding the selected node itself.

Parameters:

  • content (String)

    SVG/XML source content

  • element (Sevgi::Graphics::Element)

    target graphics element

  • id (String, nil) (defaults to: nil)

    optional SVG id selecting a node inside the source

Returns:

  • (Sevgi::Graphics::Element)

    target graphics element

Raises:

  • (Sevgi::ArgumentError)

    when the id is absent

  • (Sevgi::PanicError)

    when generated Ruby source cannot be formatted



70
# File 'lib/sevgi/derender.rb', line 70

def evaluate!(content, element, id: nil) = Document.new(content).decompile(id).evaluate!(element)

#evaluate_file(file, element, id: nil) ⇒ Sevgi::Graphics::Element

Evaluates an SVG/XML file under a graphics element, including the selected node.

Parameters:

  • file (String)

    path to the source SVG/XML file

  • element (Sevgi::Graphics::Element)

    target graphics element

  • id (String, nil) (defaults to: nil)

    optional SVG id selecting a node inside the source

Returns:

  • (Sevgi::Graphics::Element)

    target graphics element

Raises:

  • (Sevgi::ArgumentError)

    when the file cannot be found or the id is absent

  • (Sevgi::PanicError)

    when generated Ruby source cannot be formatted



61
# File 'lib/sevgi/derender.rb', line 61

def evaluate_file(file, element, id: nil) = Document.load_file(file).decompile(id).evaluate(element)

#evaluate_file!(file, element, id: nil) ⇒ Sevgi::Graphics::Element

Evaluates an SVG/XML file under a graphics element, excluding the selected node itself.

Parameters:

  • file (String)

    path to the source SVG/XML file

  • element (Sevgi::Graphics::Element)

    target graphics element

  • id (String, nil) (defaults to: nil)

    optional SVG id selecting a node inside the source

Returns:

  • (Sevgi::Graphics::Element)

    target graphics element

Raises:

  • (Sevgi::ArgumentError)

    when the file cannot be found or the id is absent

  • (Sevgi::PanicError)

    when generated Ruby source cannot be formatted



79
# File 'lib/sevgi/derender.rb', line 79

def evaluate_file!(file, element, id: nil) = Document.load_file(file).decompile(id).evaluate!(element)