Class: Pubid::Ietf::UrnGenerator

Inherits:
UrnGenerator::Base show all
Defined in:
lib/pubid/ietf/urn_generator.rb

Overview

Emits the canonical IETF URNs:

RFC            -> urn:ietf:rfc:2119
BCP/STD/FYI    -> urn:ietf:bcp:3 / urn:ietf:std:66 / urn:ietf:fyi:1
Internet-Draft -> urn:ietf:id:draft-giuliano-treedn[:02]

Instance Attribute Summary

Attributes inherited from UrnGenerator::Base

#identifier

Instance Method Summary collapse

Methods inherited from UrnGenerator::Base

#initialize, #maybe, #urn_edition, #urn_language, #urn_namespace, #urn_number, #urn_part, #urn_publisher, #urn_subpart, #urn_type, #urn_year

Constructor Details

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

Instance Method Details

#generateObject



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/pubid/ietf/urn_generator.rb', line 10

def generate
  case identifier
  when Identifiers::Rfc
    "urn:ietf:rfc:#{identifier.number}"
  when Identifiers::InternetDraft
    base = "urn:ietf:id:#{identifier.name}"
    identifier.version ? "#{base}:#{identifier.version}" : base
  else # Bcp/Std/Fyi sub-series
    "urn:ietf:#{identifier.series.downcase}:#{identifier.number}"
  end
end