Class: Pubid::Ecma::UrnParser
- Inherits:
-
UrnParser::Base
- Object
- UrnParser::Base
- Pubid::Ecma::UrnParser
- Defined in:
- lib/pubid/ecma/urn_parser.rb
Overview
Parses ECMA URNs back into identifiers, inverting UrnGenerator.
Examples:
urn:ecma:411 -> ECMA-411
urn:ecma:418:part-1 -> ECMA-418-1
urn:ecma:tr:101 -> ECMA TR/101
urn:ecma:mem:1970 -> ECMA MEM/1970
Instance Method Summary collapse
Methods inherited from UrnParser::Base
Instance Method Details
#parse_urn(urn) ⇒ Object
13 14 15 16 17 18 19 20 21 |
# File 'lib/pubid/ecma/urn_parser.rb', line 13 def parse_urn(urn) parts = split_parts(strip_namespace(urn)) tag = %w[tr mem].include?(parts.first) ? parts.shift : nil number = parts.shift part = if parts.first&.start_with?("part-") parts.shift.sub("part-", "") end flavor_parse(reconstruct(tag, number, part)) end |