Module: Sevgi::Graphics::Mixtures::RDF
- Defined in:
- lib/sevgi/graphics/mixtures/rdf.rb
Overview
DSL helpers for RDF and license metadata.
Instance Method Summary collapse
-
#License(**kwargs) { ... } ⇒ Sevgi::Graphics::Element
Adds RDF license metadata inside a metadata element.
-
#License_CC0(**kwargs) { ... } ⇒ Sevgi::Graphics::Element
Adds Creative Commons Zero metadata.
-
#License_CC_BY(**kwargs) { ... } ⇒ Sevgi::Graphics::Element
Adds Creative Commons BY license metadata.
-
#License_CC_BY_NC(**kwargs) { ... } ⇒ Sevgi::Graphics::Element
Adds Creative Commons BY-NC license metadata.
-
#License_CC_BY_NC_ND(**kwargs) { ... } ⇒ Sevgi::Graphics::Element
Adds Creative Commons BY-NC-ND license metadata.
-
#License_CC_BY_NC_SA(**kwargs) { ... } ⇒ Sevgi::Graphics::Element
Adds Creative Commons BY-NC-SA license metadata.
-
#License_CC_BY_ND(**kwargs) { ... } ⇒ Sevgi::Graphics::Element
Adds Creative Commons BY-ND license metadata.
-
#License_CC_BY_SA(**kwargs) { ... } ⇒ Sevgi::Graphics::Element
Adds Creative Commons BY-SA license metadata.
-
#License_LAL(**kwargs) { ... } ⇒ Sevgi::Graphics::Element
Adds Free Art License metadata.
-
#RDF(**kwargs) { ... } ⇒ Sevgi::Graphics::Element
Builds an RDF root element.
-
#RDFWork(**kwargs) { ... } ⇒ Sevgi::Graphics::Element
Builds a Creative Commons RDF Work element.
Instance Method Details
#License(**kwargs) { ... } ⇒ Sevgi::Graphics::Element
Adds RDF license metadata inside a metadata element.
23 24 25 26 27 28 |
# File 'lib/sevgi/graphics/mixtures/rdf.rb', line 23 def License(**kwargs, &block) unknown = kwargs.keys - WORK_OPTIONS ArgumentError.("Unknown license options: #{unknown.join(", ")}") unless unknown.empty? { RDFWork(**kwargs, &block) } end |
#License_CC0(**kwargs) { ... } ⇒ Sevgi::Graphics::Element
Adds Creative Commons Zero metadata.
103 104 105 |
# File 'lib/sevgi/graphics/mixtures/rdf.rb', line 103 def License_CC0(**kwargs, &block) License(**kwargs, license: "https://creativecommons.org/publicdomain/zero/1.0/", &block) end |
#License_CC_BY(**kwargs) { ... } ⇒ Sevgi::Graphics::Element
Adds Creative Commons BY license metadata.
37 38 39 |
# File 'lib/sevgi/graphics/mixtures/rdf.rb', line 37 def License_CC_BY(**kwargs, &block) License(**kwargs, license: "https://creativecommons.org/licenses/by/4.0/", &block) end |
#License_CC_BY_NC(**kwargs) { ... } ⇒ Sevgi::Graphics::Element
Adds Creative Commons BY-NC license metadata.
59 60 61 |
# File 'lib/sevgi/graphics/mixtures/rdf.rb', line 59 def License_CC_BY_NC(**kwargs, &block) License(**kwargs, license: "https://creativecommons.org/licenses/by-nc/4.0/", &block) end |
#License_CC_BY_NC_ND(**kwargs) { ... } ⇒ Sevgi::Graphics::Element
Adds Creative Commons BY-NC-ND license metadata.
92 93 94 |
# File 'lib/sevgi/graphics/mixtures/rdf.rb', line 92 def License_CC_BY_NC_ND(**kwargs, &block) License(**kwargs, license: "https://creativecommons.org/licenses/by-nc-nd/4.0/", &block) end |
#License_CC_BY_NC_SA(**kwargs) { ... } ⇒ Sevgi::Graphics::Element
Adds Creative Commons BY-NC-SA license metadata.
70 71 72 |
# File 'lib/sevgi/graphics/mixtures/rdf.rb', line 70 def License_CC_BY_NC_SA(**kwargs, &block) License(**kwargs, license: "https://creativecommons.org/licenses/by-nc-sa/4.0/", &block) end |
#License_CC_BY_ND(**kwargs) { ... } ⇒ Sevgi::Graphics::Element
Adds Creative Commons BY-ND license metadata.
81 82 83 |
# File 'lib/sevgi/graphics/mixtures/rdf.rb', line 81 def License_CC_BY_ND(**kwargs, &block) License(**kwargs, license: "https://creativecommons.org/licenses/by-nd/4.0/", &block) end |
#License_CC_BY_SA(**kwargs) { ... } ⇒ Sevgi::Graphics::Element
Adds Creative Commons BY-SA license metadata.
48 49 50 |
# File 'lib/sevgi/graphics/mixtures/rdf.rb', line 48 def License_CC_BY_SA(**kwargs, &block) License(**kwargs, license: "https://creativecommons.org/licenses/by-sa/4.0/", &block) end |
#License_LAL(**kwargs) { ... } ⇒ Sevgi::Graphics::Element
Adds Free Art License metadata.
114 |
# File 'lib/sevgi/graphics/mixtures/rdf.rb', line 114 def License_LAL(**kwargs, &block) = License(**kwargs, license: "https://artlibre.org/licence/lal/en/", &block) |
#RDF(**kwargs) { ... } ⇒ Sevgi::Graphics::Element
Builds an RDF root element.
123 124 125 126 127 128 129 130 131 132 133 134 135 |
# File 'lib/sevgi/graphics/mixtures/rdf.rb', line 123 def RDF(**kwargs, &block) ArgumentError.("Unknown RDF options: #{kwargs.keys.join(", ")}") unless kwargs.empty? ArgumentError.("Block required") unless block Element( :"rdf:RDF", "xmlns:rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "xmlns:dc": "http://purl.org/dc/elements/1.1/", "xmlns:cc": "http://creativecommons.org/ns#" ) do Within(&block) end end |
#RDFWork(**kwargs) { ... } ⇒ Sevgi::Graphics::Element
Builds a Creative Commons RDF Work element.
| Option | RDF element |
|---|---|
title |
dc:title |
description |
dc:description |
creator |
dc:creator |
publisher |
dc:publisher |
date |
dc:date |
language |
dc:language |
license |
cc:license resource |
160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 |
# File 'lib/sevgi/graphics/mixtures/rdf.rb', line 160 def RDFWork(**kwargs, &block) unknown = kwargs.keys - WORK_OPTIONS ArgumentError.("Unknown RDF work options: #{unknown.join(", ")}") unless unknown.empty? RDF do Element(:"cc:Work", "rdf:about": "") do Element(:"dc:format", "image/svg+xml") Element(:"dc:type", "rdf:resource": "http://purl.org/dc/dcmitype/StillImage") Element(:"dc:title", kwargs[:title]) if kwargs[:title] Element(:"dc:description", kwargs[:description]) if kwargs[:description] Element(:"dc:creator", kwargs[:creator]) if kwargs[:creator] Element(:"dc:publisher", kwargs[:publisher]) if kwargs[:publisher] Element(:"dc:date", kwargs[:date]) if kwargs[:date] Element(:"dc:language", kwargs[:language]) if kwargs[:language] Element(:"cc:license", "rdf:resource": kwargs[:license]) if kwargs[:license] Within(&block) if block end end end |