Class: Pubid::Iala::Renderer
- Inherits:
-
Renderers::Base
- Object
- Renderers::Base
- Pubid::Iala::Renderer
- Defined in:
- lib/pubid/iala/renderer.rb
Overview
Human-readable renderer for IALA identifiers.
Produces strings like:
"IALA S1070"
"IALA S1070 Ed 2.0"
"IALA R1016 Ed 2.0 (F)"
Constant Summary
Constants inherited from Renderers::Base
Renderers::Base::SEMANTIC_SPLIT, Renderers::Base::TYPED_STAGE_CSS
Instance Method Summary collapse
- #render(context: nil, **_opts) ⇒ Object
-
#render_annex(id) ⇒ Object
Render an Annex wrapper.
Methods inherited from Renderers::Base
Constructor Details
This class inherits a constructor from Pubid::Renderers::Base
Instance Method Details
#render(context: nil, **_opts) ⇒ Object
12 13 14 15 16 17 18 19 20 21 |
# File 'lib/pubid/iala/renderer.rb', line 12 def render(context: nil, **_opts) id = @id return render_annex(id) if id.is_a?(Identifiers::Annex) rendered = "#{id.publisher} #{id.type_letter}#{id.number}" rendered << " Ed #{id.edition}" if id.edition rendered << " (#{id.language})" if id.language rendered end |
#render_annex(id) ⇒ Object
Render an Annex wrapper. The base identifier is rendered first, then the marker form is preserved verbatim ("Annex" vs "ANNEX"), then the optional letter, edition, and language.
26 27 28 29 30 31 32 33 |
# File 'lib/pubid/iala/renderer.rb', line 26 def render_annex(id) base_str = id.base_identifier.to_s rendered = "#{base_str} #{id.annex_form}" rendered << " #{id.letter}" if id.letter rendered << " Ed #{id.edition}" if id.edition rendered << " (#{id.language})" if id.language rendered end |