Class: Pubid::CenCenelec::Renderer

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

Overview

Human-readable renderer for CEN/CENELEC identifiers.

Produces strings like:

"EN 196-3:2005"
"EN ISO 8601:2019"
"prEN 12345:2020"
"CEN/TS 12345:2005"
"EN 196-3:2005+A1:2008"
"EN 60038/AC1:2012"
"ENV ISO 8601"

The renderer is registered as the :human format in the CEN/CENELEC 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



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# File 'lib/pubid/cen_cenelec/renderer.rb', line 19

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

  case id
  when Identifiers::AdoptedEuropeanNorm
    render_adopted_european_norm(id)
  when Identifiers::Amendment
    render_amendment(id)
  when Identifiers::Corrigendum
    render_corrigendum(id)
  when Identifiers::ConsolidatedIdentifier
    render_consolidated(id)
  when Identifiers::Fragment
    render_fragment(id)
  when Identifiers::EuropeanPrestandard
    render_european_prestandard(id, **opts)
  when Identifiers::Base
    # CEN identifiers::Base hierarchy (Amendment, Corrigendum, etc. handled above)
    render_cen_base(id)
  when SingleIdentifier
    render_single(id)
  else
    render_single(id)
  end
end