Class: Pubid::Iho::Renderer

Inherits:
Renderers::Base show all
Defined in:
lib/pubid/iho/renderer.rb

Overview

Human-readable renderer for IHO identifiers.

Produces strings like:

"IHO S-44 5.0.0"
"IHO P-1/21 1.0.0"
"IHO S-100 Part 4a 1.0.0"
"IHO S-65 Ap. A 1.0.0"

The renderer is registered as the ‘:human` format in the IHO format registry and invoked via `render(format: :human)`.

Constant Summary

Constants inherited from Renderers::Base

Renderers::Base::SEMANTIC_SPLIT, Renderers::Base::TYPED_STAGE_CSS

Instance Method Summary collapse

Methods inherited from Renderers::Base

#initialize, render

Constructor Details

This class inherits a constructor from Pubid::Renderers::Base

Instance Method Details

#render(context: nil, **opts) ⇒ Object



16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/pubid/iho/renderer.rb', line 16

def render(context: nil, **opts)
  id = @id

  letter = id.class.type[:short]
  rendered = "#{id.publisher} #{letter}-#{id.number}"
  rendered << " Ap. #{id.appendix}" if id.appendix
  rendered << " Part #{id.part}" if id.part
  rendered << " Annex #{id.annex}" if id.annex
  rendered << " Suppl #{id.supplement}" if id.supplement
  rendered << " #{id.version}" if id.version
  rendered
end