Class: Pubid::Tgpp::Renderer

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

Overview

Human-readable renderer for 3GPP identifiers.

Produces strings like:

"TS 23.207:REL-4/2.0.0"                (default, no publisher)
"3GPP TS 23.207:REL-4/2.0.0"           (with_publisher: true)
"TS 29.198-04-1:REL-5/5.0.0"           (parts)
"TR 00.01U:UMTS/3.0.0"                 (suffix)

Constant Summary collapse

PUBLISHER =
"3GPP"

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



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

def render(context: nil, **_opts)
  id = @id
  head = []
  head << PUBLISHER if with_publisher?(id)
  head << id.type_prefix
  result = "#{head.join(' ')} #{id.code}"
  # A handful of legacy records omit the release segment entirely
  # (e.g. "TS 29.215/2.0.0").
  result += ":#{id.release}" if id.release
  "#{result}/#{id.version}"
end