Class: Pubid::Gost::UrnParser
- Inherits:
-
UrnParser::Base
- Object
- UrnParser::Base
- Pubid::Gost::UrnParser
- Defined in:
- lib/pubid/gost/urn_parser.rb
Overview
Parses GOST URNs back into identifiers.
UrnGenerator emits:
urn:gost:std:<number>[:<year>] (interstate)
urn:gost:std:r:<number>[:<year>] (Russian national)
Examples:
urn:gost:std:14946:82 → GOST 14946-82
urn:gost:std:r:34.12:2015 → GOST R 34.12-2015
Constant Summary collapse
- PREFIX =
"urn:gost:std:".freeze
Instance Method Summary collapse
Methods inherited from UrnParser::Base
Instance Method Details
#parse_urn(urn) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/pubid/gost/urn_parser.rb', line 17 def parse_urn(urn) body = strip_namespace(urn) parts = split_parts(body) if parts.first == "r" number = parts[1] year = parts[2] Identifiers::NationalStandard.new(number: number, year: year) else number = parts[0] year = parts[1] Identifiers::InterstateStandard.new(number: number, year: year) end end |