Class: Pubid::Sae::Renderer

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

Overview

Human-readable renderer for SAE identifiers.

Produces strings like:

"SAE AS5553"
"SAE ARP4754A"
"SAE AMS2475:2023"

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



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/pubid/sae/renderer.rb', line 15

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

  parts = []

  # Publisher and type
  parts << id.publisher if id.publisher
  parts << id.type.to_s if id.type

  # Number
  parts << id.number.to_s if id.number

  result = parts.join(" ")

  # Date
  result += ":#{id.date.render(context:)}" if id.date

  result
end