Module: Sevgi::Graphics::Mixtures::Include
- Defined in:
- lib/sevgi/graphics/mixtures/include.rb
Overview
DSL helpers for including derendered SVG/XML fragments.
Instance Method Summary collapse
-
#Include(file, id) ⇒ Sevgi::Graphics::Element?
Includes a derendered node matching an id.
-
#IncludeChildren(file, id) ⇒ Array<Sevgi::Graphics::Element>
Includes the children of a derendered node matching an id.
Instance Method Details
#Include(file, id) ⇒ Sevgi::Graphics::Element?
Includes a derendered node matching an id. SVG/XML content is treated as data and is not evaluated as Ruby source.
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/sevgi/graphics/mixtures/include.rb', line 24 module Include require "sevgi/derender" # Includes a derendered node matching an id. # # SVG/XML file content is treated as data and is not evaluated as Ruby source. # @param file [String] source SVG/XML file # @param id [String, Symbol] source node id # @return [Sevgi::Graphics::Element, nil] included element, or nil when the selected node produces no graphics # output # @raise [Sevgi::ArgumentError] when the file cannot be found, file content is malformed or rootless, or the id is # absent # @raise [Sevgi::MissingComponentError] when sevgi/derender is unavailable def Include(file, id) = Derender.evaluate_file(file, self, id:) # Includes the children of a derendered node matching an id. # # SVG/XML file content is treated as data and is not evaluated as Ruby source. # @param file [String] source SVG/XML file # @param id [String, Symbol] source node id # @return [Array<Sevgi::Graphics::Element>] included children # @raise [Sevgi::ArgumentError] when the file cannot be found, file content is malformed or rootless, or the id is # absent # @raise [Sevgi::MissingComponentError] when sevgi/derender is unavailable def IncludeChildren(file, id) = Derender.evaluate_file_children(file, self, id:) rescue ::LoadError => e raise unless e.path == "sevgi/derender" # @overload IncludeChildren(file, id) # Raises because sevgi/derender is unavailable. # @param file [String] source SVG/XML file # @param id [String, Symbol] source node id # @return [void] # @raise [Sevgi::MissingComponentError] always def IncludeChildren(...) = MissingComponentError.("sevgi/derender") # @overload Include(file, id) # Raises because sevgi/derender is unavailable. # @param file [String] source SVG/XML file # @param id [String, Symbol] source node id # @return [void] # @raise [Sevgi::MissingComponentError] always def Include(...) = MissingComponentError.("sevgi/derender") end |
#IncludeChildren(file, id) ⇒ Array<Sevgi::Graphics::Element>
Includes the children of a derendered node matching an id. SVG/XML content is treated as data and is not evaluated as Ruby source.
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/sevgi/graphics/mixtures/include.rb', line 24 module Include require "sevgi/derender" # Includes a derendered node matching an id. # # SVG/XML file content is treated as data and is not evaluated as Ruby source. # @param file [String] source SVG/XML file # @param id [String, Symbol] source node id # @return [Sevgi::Graphics::Element, nil] included element, or nil when the selected node produces no graphics # output # @raise [Sevgi::ArgumentError] when the file cannot be found, file content is malformed or rootless, or the id is # absent # @raise [Sevgi::MissingComponentError] when sevgi/derender is unavailable def Include(file, id) = Derender.evaluate_file(file, self, id:) # Includes the children of a derendered node matching an id. # # SVG/XML file content is treated as data and is not evaluated as Ruby source. # @param file [String] source SVG/XML file # @param id [String, Symbol] source node id # @return [Array<Sevgi::Graphics::Element>] included children # @raise [Sevgi::ArgumentError] when the file cannot be found, file content is malformed or rootless, or the id is # absent # @raise [Sevgi::MissingComponentError] when sevgi/derender is unavailable def IncludeChildren(file, id) = Derender.evaluate_file_children(file, self, id:) rescue ::LoadError => e raise unless e.path == "sevgi/derender" # @overload IncludeChildren(file, id) # Raises because sevgi/derender is unavailable. # @param file [String] source SVG/XML file # @param id [String, Symbol] source node id # @return [void] # @raise [Sevgi::MissingComponentError] always def IncludeChildren(...) = MissingComponentError.("sevgi/derender") # @overload Include(file, id) # Raises because sevgi/derender is unavailable. # @param file [String] source SVG/XML file # @param id [String, Symbol] source node id # @return [void] # @raise [Sevgi::MissingComponentError] always def Include(...) = MissingComponentError.("sevgi/derender") end |