Class: Pubid::Adobe::UrnParser
- Inherits:
-
UrnParser::Base
- Object
- UrnParser::Base
- Pubid::Adobe::UrnParser
- Defined in:
- lib/pubid/adobe/urn_parser.rb
Overview
Parses Adobe URNs back into identifiers.
UrnGenerator emits:
urn:adobe:tech-note:<number>
urn:adobe:publication:<slug>[:v<version>]
Examples:
urn:adobe:tech-note:5014 → Adobe Technical Note #5014
urn:adobe:publication:adobe-glyph-list → adobe-glyph-list
urn:adobe:publication:adobe-japan1:v7 → adobe-japan1-7
Constant Summary collapse
- PREFIX =
"urn:adobe:".freeze
Instance Method Summary collapse
Methods inherited from UrnParser::Base
Instance Method Details
#parse_urn(urn) ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/pubid/adobe/urn_parser.rb', line 18 def parse_urn(urn) body = strip_namespace(urn) parts = split_parts(body) namespace = parts.fetch(0) case namespace when "tech-note" parse_tech_note(parts) when "publication" parse_publication(parts) else raise Pubid::UrnParser::Errors::ParseError, "Unknown Adobe URN namespace: #{namespace.inspect} in #{urn.inspect}" end end |