pubid 2.0.0.pre.alpha.1 → 2.0.0.pre.alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (463) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +5 -1
  3. data/data/nist/update_codes.yaml +27 -0
  4. data/lib/pubid/amca/builder.rb +2 -2
  5. data/lib/pubid/amca/identifier.rb +7 -0
  6. data/lib/pubid/amca/identifiers/base.rb +0 -26
  7. data/lib/pubid/amca/identifiers/interpretation.rb +0 -17
  8. data/lib/pubid/amca/identifiers/publication.rb +0 -13
  9. data/lib/pubid/amca/renderer.rb +82 -0
  10. data/lib/pubid/amca/single_identifier.rb +0 -23
  11. data/lib/pubid/amca/urn_parser.rb +28 -0
  12. data/lib/pubid/amca.rb +42 -1
  13. data/lib/pubid/ansi/builder.rb +5 -3
  14. data/lib/pubid/ansi/identifier.rb +1 -1
  15. data/lib/pubid/ansi/identifiers/american_national_standard.rb +2 -1
  16. data/lib/pubid/ansi/identifiers/standard.rb +2 -3
  17. data/lib/pubid/ansi/renderer.rb +53 -0
  18. data/lib/pubid/ansi/single_identifier.rb +2 -31
  19. data/lib/pubid/ansi/urn_generator.rb +3 -38
  20. data/lib/pubid/ansi/urn_parser.rb +23 -0
  21. data/lib/pubid/ansi.rb +38 -3
  22. data/lib/pubid/api/builder.rb +29 -74
  23. data/lib/pubid/api/identifier.rb +0 -4
  24. data/lib/pubid/api/identifiers/base.rb +0 -2
  25. data/lib/pubid/api/identifiers/bulletin.rb +0 -2
  26. data/lib/pubid/api/identifiers/continuous_operations_standard.rb +0 -2
  27. data/lib/pubid/api/identifiers/mpms.rb +1 -17
  28. data/lib/pubid/api/identifiers/publication.rb +0 -2
  29. data/lib/pubid/api/identifiers/recommended_practice.rb +0 -2
  30. data/lib/pubid/api/identifiers/specification.rb +0 -2
  31. data/lib/pubid/api/identifiers/standard.rb +0 -2
  32. data/lib/pubid/api/identifiers/technical_report.rb +0 -2
  33. data/lib/pubid/api/identifiers/typeless_standard.rb +1 -14
  34. data/lib/pubid/api/identifiers.rb +18 -0
  35. data/lib/pubid/api/renderer.rb +89 -0
  36. data/lib/pubid/api/single_identifier.rb +1 -13
  37. data/lib/pubid/api/urn_generator.rb +0 -18
  38. data/lib/pubid/api/urn_parser.rb +35 -0
  39. data/lib/pubid/api.rb +51 -5
  40. data/lib/pubid/ashrae/builder.rb +3 -3
  41. data/lib/pubid/ashrae/identifier.rb +6 -0
  42. data/lib/pubid/ashrae/identifiers/addenda_package.rb +0 -10
  43. data/lib/pubid/ashrae/identifiers/addendum.rb +0 -19
  44. data/lib/pubid/ashrae/identifiers/base.rb +3 -0
  45. data/lib/pubid/ashrae/identifiers/combined_addenda.rb +0 -15
  46. data/lib/pubid/ashrae/identifiers/errata.rb +0 -10
  47. data/lib/pubid/ashrae/identifiers/interpretation.rb +0 -10
  48. data/lib/pubid/ashrae/renderer.rb +117 -0
  49. data/lib/pubid/ashrae/single_identifier.rb +0 -13
  50. data/lib/pubid/ashrae/urn_generator.rb +0 -8
  51. data/lib/pubid/ashrae/urn_parser.rb +27 -0
  52. data/lib/pubid/ashrae.rb +42 -1
  53. data/lib/pubid/asme/components/code.rb +10 -2
  54. data/lib/pubid/asme/identifiers/base.rb +0 -60
  55. data/lib/pubid/asme/renderer.rb +66 -0
  56. data/lib/pubid/asme/urn_parser.rb +31 -0
  57. data/lib/pubid/asme.rb +42 -1
  58. data/lib/pubid/astm/components/code.rb +9 -0
  59. data/lib/pubid/{jis → astm}/components.rb +1 -1
  60. data/lib/pubid/astm/identifiers/adjunct.rb +0 -8
  61. data/lib/pubid/astm/identifiers/data_series.rb +0 -14
  62. data/lib/pubid/astm/identifiers/iso_dual_published.rb +9 -34
  63. data/lib/pubid/astm/identifiers/manual.rb +0 -27
  64. data/lib/pubid/astm/identifiers/monograph.rb +0 -14
  65. data/lib/pubid/astm/identifiers/research_report.rb +0 -7
  66. data/lib/pubid/astm/identifiers/standard.rb +0 -39
  67. data/lib/pubid/astm/identifiers/technical_report.rb +0 -13
  68. data/lib/pubid/astm/identifiers/work_in_progress.rb +0 -11
  69. data/lib/pubid/astm/identifiers.rb +18 -0
  70. data/lib/pubid/astm/renderer.rb +172 -0
  71. data/lib/pubid/astm/single_identifier.rb +0 -10
  72. data/lib/pubid/astm/urn_parser.rb +30 -0
  73. data/lib/pubid/astm.rb +39 -27
  74. data/lib/pubid/bsi/builder.rb +21 -12
  75. data/lib/pubid/bsi/identifier.rb +8 -2
  76. data/lib/pubid/bsi/identifiers/addendum_document.rb +3 -33
  77. data/lib/pubid/bsi/identifiers/adopted_european_norm.rb +11 -47
  78. data/lib/pubid/bsi/identifiers/adopted_international_standard.rb +11 -38
  79. data/lib/pubid/bsi/identifiers/aerospace_standard.rb +3 -53
  80. data/lib/pubid/bsi/identifiers/amendment.rb +3 -19
  81. data/lib/pubid/bsi/identifiers/british_industrial_practice.rb +2 -4
  82. data/lib/pubid/bsi/identifiers/british_standard.rb +2 -1
  83. data/lib/pubid/bsi/identifiers/bundled_identifier.rb +3 -84
  84. data/lib/pubid/bsi/identifiers/committee_document.rb +1 -14
  85. data/lib/pubid/bsi/identifiers/consolidated_identifier.rb +3 -84
  86. data/lib/pubid/bsi/identifiers/corrigendum.rb +3 -7
  87. data/lib/pubid/bsi/identifiers/detailed_specification.rb +1 -34
  88. data/lib/pubid/bsi/identifiers/disc.rb +1 -27
  89. data/lib/pubid/bsi/identifiers/draft_document.rb +3 -44
  90. data/lib/pubid/bsi/identifiers/electronic_book.rb +3 -36
  91. data/lib/pubid/bsi/identifiers/expert_commentary.rb +3 -15
  92. data/lib/pubid/bsi/identifiers/explanatory_supplement.rb +1 -45
  93. data/lib/pubid/bsi/identifiers/flex.rb +1 -33
  94. data/lib/pubid/bsi/identifiers/handbook.rb +2 -13
  95. data/lib/pubid/bsi/identifiers/index.rb +1 -30
  96. data/lib/pubid/bsi/identifiers/method.rb +1 -39
  97. data/lib/pubid/bsi/identifiers/national_annex.rb +5 -27
  98. data/lib/pubid/bsi/identifiers/practice_guide.rb +2 -4
  99. data/lib/pubid/bsi/identifiers/publicly_available_specification.rb +3 -52
  100. data/lib/pubid/bsi/identifiers/published_document.rb +3 -52
  101. data/lib/pubid/bsi/identifiers/section.rb +1 -28
  102. data/lib/pubid/bsi/identifiers/set.rb +3 -17
  103. data/lib/pubid/bsi/identifiers/standalone_amendment.rb +1 -7
  104. data/lib/pubid/bsi/identifiers/supplement_document.rb +3 -21
  105. data/lib/pubid/bsi/identifiers/supplementary_index.rb +1 -44
  106. data/lib/pubid/bsi/identifiers/technical_specification.rb +3 -45
  107. data/lib/pubid/bsi/identifiers/test_method.rb +1 -30
  108. data/lib/pubid/bsi/identifiers/value_added_publication.rb +3 -14
  109. data/lib/pubid/bsi/identifiers.rb +0 -1
  110. data/lib/pubid/bsi/renderer.rb +1050 -0
  111. data/lib/pubid/bsi/single_identifier.rb +6 -70
  112. data/lib/pubid/bsi/urn_generator.rb +2 -3
  113. data/lib/pubid/bsi/urn_parser.rb +52 -0
  114. data/lib/pubid/bsi.rb +224 -1
  115. data/lib/pubid/builder/base.rb +57 -10
  116. data/lib/pubid/bundled_identifier.rb +0 -1
  117. data/lib/pubid/ccsds/builder.rb +4 -3
  118. data/lib/pubid/ccsds/identifier.rb +66 -1
  119. data/lib/pubid/ccsds/identifiers/base.rb +11 -50
  120. data/lib/pubid/ccsds/identifiers/corrigendum.rb +7 -6
  121. data/lib/pubid/ccsds/parser.rb +4 -2
  122. data/lib/pubid/ccsds/single_identifier.rb +4 -1
  123. data/lib/pubid/ccsds/supplement_identifier.rb +15 -11
  124. data/lib/pubid/ccsds/urn_generator.rb +3 -3
  125. data/lib/pubid/ccsds/urn_parser.rb +20 -0
  126. data/lib/pubid/ccsds.rb +39 -1
  127. data/lib/pubid/cen_cenelec/builder.rb +12 -14
  128. data/lib/pubid/cen_cenelec/identifier.rb +8 -2
  129. data/lib/pubid/cen_cenelec/identifiers/adopted_european_norm.rb +13 -4
  130. data/lib/pubid/cen_cenelec/identifiers/amendment.rb +2 -8
  131. data/lib/pubid/cen_cenelec/identifiers/base.rb +5 -41
  132. data/lib/pubid/cen_cenelec/identifiers/cen_report.rb +2 -1
  133. data/lib/pubid/cen_cenelec/identifiers/cen_workshop_agreement.rb +2 -1
  134. data/lib/pubid/cen_cenelec/identifiers/consolidated_identifier.rb +2 -25
  135. data/lib/pubid/cen_cenelec/identifiers/corrigendum.rb +2 -13
  136. data/lib/pubid/cen_cenelec/identifiers/european_norm.rb +2 -1
  137. data/lib/pubid/cen_cenelec/identifiers/european_prestandard.rb +4 -7
  138. data/lib/pubid/cen_cenelec/identifiers/european_specification.rb +2 -1
  139. data/lib/pubid/cen_cenelec/identifiers/fragment.rb +2 -2
  140. data/lib/pubid/cen_cenelec/identifiers/harmonization_document.rb +2 -1
  141. data/lib/pubid/cen_cenelec/identifiers/technical_report.rb +2 -1
  142. data/lib/pubid/cen_cenelec/identifiers/technical_specification.rb +2 -1
  143. data/lib/pubid/cen_cenelec/renderer.rb +261 -0
  144. data/lib/pubid/cen_cenelec/single_identifier.rb +11 -89
  145. data/lib/pubid/cen_cenelec/urn_generator.rb +6 -6
  146. data/lib/pubid/cen_cenelec/urn_parser.rb +28 -0
  147. data/lib/pubid/cen_cenelec.rb +168 -1
  148. data/lib/pubid/cie/components/code.rb +8 -0
  149. data/lib/pubid/cie/identifier.rb +6 -4
  150. data/lib/pubid/cie/urn_parser.rb +28 -0
  151. data/lib/pubid/cie.rb +43 -1
  152. data/lib/pubid/components/adoption.rb +104 -0
  153. data/lib/pubid/components/code.rb +22 -8
  154. data/lib/pubid/components/date.rb +23 -16
  155. data/lib/pubid/components/edition.rb +9 -6
  156. data/lib/pubid/components/iteration.rb +32 -0
  157. data/lib/pubid/components/language.rb +6 -4
  158. data/lib/pubid/components/locality.rb +10 -1
  159. data/lib/pubid/components/publisher.rb +9 -6
  160. data/lib/pubid/components/relationship.rb +151 -0
  161. data/lib/pubid/components/stage.rb +5 -14
  162. data/lib/pubid/components/supplement.rb +184 -0
  163. data/lib/pubid/components/type.rb +5 -15
  164. data/lib/pubid/components/typed_stage.rb +11 -8
  165. data/lib/pubid/components.rb +4 -0
  166. data/lib/pubid/core/update_codes.rb +28 -7
  167. data/lib/pubid/csa/identifier.rb +0 -3
  168. data/lib/pubid/csa/identifiers/base.rb +2 -122
  169. data/lib/pubid/csa/identifiers/cec.rb +2 -101
  170. data/lib/pubid/csa/identifiers/series.rb +2 -102
  171. data/lib/pubid/csa/renderer.rb +292 -0
  172. data/lib/pubid/csa/urn_generator.rb +1 -1
  173. data/lib/pubid/csa/urn_parser.rb +33 -0
  174. data/lib/pubid/csa.rb +42 -1
  175. data/lib/pubid/etsi/components/code.rb +9 -2
  176. data/lib/pubid/etsi/identifiers/base.rb +1 -4
  177. data/lib/pubid/etsi/identifiers/supplement_identifier.rb +2 -9
  178. data/lib/pubid/etsi/renderer.rb +42 -0
  179. data/lib/pubid/etsi/urn_parser.rb +34 -0
  180. data/lib/pubid/etsi.rb +42 -1
  181. data/lib/pubid/export/exporter.rb +4 -46
  182. data/lib/pubid/export/flavor_exporter.rb +111 -278
  183. data/lib/pubid/export.rb +0 -6
  184. data/lib/pubid/identifier.rb +10 -18
  185. data/lib/pubid/identifier_facade.rb +114 -0
  186. data/lib/pubid/identifier_metadata.rb +1 -1
  187. data/lib/pubid/idf/builder.rb +3 -3
  188. data/lib/pubid/idf/identifier.rb +3 -6
  189. data/lib/pubid/idf/identifiers/amendment.rb +2 -1
  190. data/lib/pubid/idf/identifiers/corrigendum.rb +2 -1
  191. data/lib/pubid/idf/identifiers/international_standard.rb +2 -1
  192. data/lib/pubid/idf/identifiers/reviewed_method.rb +2 -1
  193. data/lib/pubid/idf/parser.rb +3 -2
  194. data/lib/pubid/idf/renderer.rb +84 -0
  195. data/lib/pubid/idf/supplement_identifier.rb +2 -10
  196. data/lib/pubid/idf/urn_generator.rb +4 -39
  197. data/lib/pubid/idf/urn_parser.rb +25 -0
  198. data/lib/pubid/idf.rb +51 -1
  199. data/lib/pubid/iec/builder.rb +48 -65
  200. data/lib/pubid/iec/components/code.rb +9 -32
  201. data/lib/pubid/iec/components/publisher.rb +1 -1
  202. data/lib/pubid/iec/components.rb +14 -0
  203. data/lib/pubid/iec/identifier.rb +276 -3
  204. data/lib/pubid/iec/identifiers/amendment.rb +2 -3
  205. data/lib/pubid/iec/identifiers/base.rb +8 -28
  206. data/lib/pubid/iec/identifiers/component_specification.rb +3 -3
  207. data/lib/pubid/iec/identifiers/conformity_assessment.rb +1 -2
  208. data/lib/pubid/iec/identifiers/consolidated_identifier.rb +27 -30
  209. data/lib/pubid/iec/identifiers/corrigendum.rb +2 -3
  210. data/lib/pubid/iec/identifiers/fragment_identifier.rb +37 -26
  211. data/lib/pubid/iec/identifiers/guide.rb +0 -2
  212. data/lib/pubid/iec/identifiers/international_standard.rb +2 -3
  213. data/lib/pubid/iec/identifiers/interpretation_sheet.rb +2 -3
  214. data/lib/pubid/iec/identifiers/operational_document.rb +3 -3
  215. data/lib/pubid/iec/identifiers/publicly_available_specification.rb +2 -3
  216. data/lib/pubid/iec/identifiers/sheet_identifier.rb +21 -15
  217. data/lib/pubid/iec/identifiers/societal_technology_trend_report.rb +3 -3
  218. data/lib/pubid/iec/identifiers/systems_reference_document.rb +2 -3
  219. data/lib/pubid/iec/identifiers/technical_report.rb +2 -3
  220. data/lib/pubid/iec/identifiers/technical_specification.rb +2 -3
  221. data/lib/pubid/iec/identifiers/technology_report.rb +1 -2
  222. data/lib/pubid/iec/identifiers/test_report_form.rb +5 -34
  223. data/lib/pubid/iec/identifiers/vap_identifier.rb +26 -23
  224. data/lib/pubid/iec/identifiers/white_paper.rb +3 -3
  225. data/lib/pubid/iec/identifiers/working_document.rb +4 -48
  226. data/lib/pubid/iec/identifiers.rb +30 -0
  227. data/lib/pubid/iec/parser.rb +20 -14
  228. data/lib/pubid/iec/renderer.rb +254 -0
  229. data/lib/pubid/iec/single_identifier.rb +6 -12
  230. data/lib/pubid/iec/supplement_identifier.rb +58 -54
  231. data/lib/pubid/iec/urn_generator.rb +57 -171
  232. data/lib/pubid/iec/urn_parser.rb +53 -252
  233. data/lib/pubid/iec.rb +40 -68
  234. data/lib/pubid/ieee/builder.rb +12 -12
  235. data/lib/pubid/ieee/components/code.rb +8 -0
  236. data/lib/pubid/ieee/components/draft.rb +14 -0
  237. data/lib/pubid/ieee/components/relationship.rb +5 -149
  238. data/lib/pubid/ieee/identifier.rb +6 -0
  239. data/lib/pubid/ieee/identifiers/adopted_standard.rb +1 -6
  240. data/lib/pubid/ieee/identifiers/base.rb +101 -458
  241. data/lib/pubid/ieee/identifiers/conformance_identifier.rb +1 -7
  242. data/lib/pubid/ieee/identifiers/corrigendum.rb +1 -9
  243. data/lib/pubid/ieee/identifiers/csa_dual_published.rb +1 -7
  244. data/lib/pubid/ieee/identifiers/dual_identifier.rb +1 -1
  245. data/lib/pubid/ieee/identifiers/dual_published.rb +1 -1
  246. data/lib/pubid/ieee/identifiers/iec_ieee_copublished.rb +1 -6
  247. data/lib/pubid/ieee/identifiers/interpretation_identifier.rb +1 -7
  248. data/lib/pubid/ieee/identifiers/joint_development.rb +2 -0
  249. data/lib/pubid/ieee/identifiers/multi_numbered_identifier.rb +1 -15
  250. data/lib/pubid/ieee/identifiers/parenthetical_identifier.rb +1 -3
  251. data/lib/pubid/ieee/identifiers/project_draft_identifier.rb +15 -0
  252. data/lib/pubid/ieee/identifiers/redlined_standard.rb +1 -4
  253. data/lib/pubid/ieee/identifiers/si_standard.rb +1 -35
  254. data/lib/pubid/ieee/identifiers/standard.rb +1 -1
  255. data/lib/pubid/ieee/pre_parser.rb +301 -0
  256. data/lib/pubid/ieee/renderer.rb +307 -0
  257. data/lib/pubid/ieee/urn_parser.rb +34 -0
  258. data/lib/pubid/ieee.rb +62 -1
  259. data/lib/pubid/ieee_debug.rb +0 -1
  260. data/lib/pubid/iho/builder.rb +2 -2
  261. data/lib/pubid/iho/identifier.rb +8 -0
  262. data/lib/pubid/iho/identifiers/base.rb +49 -10
  263. data/lib/pubid/iho/identifiers/bibliographic.rb +0 -4
  264. data/lib/pubid/iho/identifiers/circular_letter.rb +0 -4
  265. data/lib/pubid/iho/identifiers/miscellaneous.rb +0 -4
  266. data/lib/pubid/iho/identifiers/publication.rb +0 -4
  267. data/lib/pubid/iho/identifiers/standard.rb +0 -4
  268. data/lib/pubid/iho/parser.rb +3 -3
  269. data/lib/pubid/iho/renderer.rb +30 -0
  270. data/lib/pubid/iho/urn_generator.rb +3 -3
  271. data/lib/pubid/iho/urn_parser.rb +58 -0
  272. data/lib/pubid/iho.rb +50 -1
  273. data/lib/pubid/iso/builder.rb +59 -53
  274. data/lib/pubid/iso/bundled_identifier.rb +51 -0
  275. data/lib/pubid/iso/components/code.rb +7 -19
  276. data/lib/pubid/iso/components/publisher.rb +10 -8
  277. data/lib/pubid/iso/components.rb +2 -4
  278. data/lib/pubid/iso/identifier.rb +233 -6
  279. data/lib/pubid/iso/identifiers/addendum.rb +9 -6
  280. data/lib/pubid/iso/identifiers/amendment.rb +8 -4
  281. data/lib/pubid/iso/identifiers/corrigendum.rb +4 -4
  282. data/lib/pubid/iso/identifiers/data.rb +0 -1
  283. data/lib/pubid/iso/identifiers/directives.rb +8 -2
  284. data/lib/pubid/iso/identifiers/directives_supplement.rb +43 -14
  285. data/lib/pubid/iso/identifiers/extract.rb +2 -2
  286. data/lib/pubid/iso/identifiers/guide.rb +0 -1
  287. data/lib/pubid/iso/identifiers/international_standard.rb +4 -4
  288. data/lib/pubid/iso/identifiers/international_standardized_profile.rb +4 -4
  289. data/lib/pubid/iso/identifiers/international_workshop_agreement.rb +10 -4
  290. data/lib/pubid/iso/identifiers/pas.rb +2 -2
  291. data/lib/pubid/iso/identifiers/recommendation.rb +2 -2
  292. data/lib/pubid/iso/identifiers/supplement.rb +11 -3
  293. data/lib/pubid/iso/identifiers/tc_document.rb +44 -15
  294. data/lib/pubid/iso/identifiers/technical_report.rb +4 -4
  295. data/lib/pubid/iso/identifiers/technical_specification.rb +2 -2
  296. data/lib/pubid/iso/identifiers/technology_trends_assessments.rb +2 -2
  297. data/lib/pubid/iso/identifiers.rb +0 -1
  298. data/lib/pubid/iso/normalizer.rb +89 -0
  299. data/lib/pubid/iso/parser.rb +26 -6
  300. data/lib/pubid/iso/single_identifier.rb +6 -3
  301. data/lib/pubid/iso/supplement_identifier.rb +15 -2
  302. data/lib/pubid/iso/urn_generator.rb +74 -176
  303. data/lib/pubid/iso/urn_parser.rb +28 -9
  304. data/lib/pubid/iso.rb +173 -2
  305. data/lib/pubid/itu/builder.rb +0 -12
  306. data/lib/pubid/itu/components/code.rb +8 -0
  307. data/lib/pubid/itu/components.rb +11 -0
  308. data/lib/pubid/itu/identifier.rb +6 -39
  309. data/lib/pubid/itu/identifiers/amendment.rb +0 -2
  310. data/lib/pubid/itu/identifiers/annex.rb +0 -2
  311. data/lib/pubid/itu/identifiers/base.rb +0 -6
  312. data/lib/pubid/itu/identifiers/combined_identifier.rb +0 -2
  313. data/lib/pubid/itu/identifiers/corrigendum.rb +0 -2
  314. data/lib/pubid/itu/identifiers/recommendation.rb +0 -2
  315. data/lib/pubid/itu/identifiers/special_publication.rb +0 -2
  316. data/lib/pubid/itu/identifiers/supplement.rb +0 -2
  317. data/lib/pubid/itu/urn_parser.rb +23 -0
  318. data/lib/pubid/itu.rb +42 -1
  319. data/lib/pubid/jcgm/builder.rb +16 -8
  320. data/lib/pubid/jcgm/identifiers/amendment.rb +2 -7
  321. data/lib/pubid/jcgm/identifiers/gum_guide.rb +2 -10
  322. data/lib/pubid/jcgm/renderer.rb +68 -0
  323. data/lib/pubid/jcgm/single_identifier.rb +1 -5
  324. data/lib/pubid/jcgm/urn_generator.rb +4 -6
  325. data/lib/pubid/jcgm/urn_parser.rb +23 -0
  326. data/lib/pubid/jcgm.rb +43 -2
  327. data/lib/pubid/jis/builder.rb +44 -52
  328. data/lib/pubid/jis/identifier.rb +132 -3
  329. data/lib/pubid/jis/identifiers/amendment.rb +1 -1
  330. data/lib/pubid/jis/identifiers/corrigendum.rb +16 -0
  331. data/lib/pubid/jis/identifiers/standard.rb +2 -1
  332. data/lib/pubid/jis/identifiers/technical_report.rb +2 -1
  333. data/lib/pubid/jis/identifiers/technical_specification.rb +2 -1
  334. data/lib/pubid/jis/identifiers.rb +1 -1
  335. data/lib/pubid/jis/parser.rb +31 -5
  336. data/lib/pubid/jis/renderer.rb +69 -0
  337. data/lib/pubid/jis/single_identifier.rb +6 -12
  338. data/lib/pubid/jis/supplement_identifier.rb +17 -14
  339. data/lib/pubid/jis/urn_parser.rb +23 -0
  340. data/lib/pubid/jis.rb +42 -2
  341. data/lib/pubid/nist/builder.rb +122 -1761
  342. data/lib/pubid/nist/caster.rb +1272 -0
  343. data/lib/pubid/nist/circular_supplement_builder.rb +291 -0
  344. data/lib/pubid/nist/components/code.rb +9 -20
  345. data/lib/pubid/nist/components/edition.rb +16 -0
  346. data/lib/pubid/nist/components/supplement.rb +88 -21
  347. data/lib/pubid/nist/components.rb +0 -1
  348. data/lib/pubid/nist/identifier.rb +25 -0
  349. data/lib/pubid/nist/identifiers/base.rb +206 -64
  350. data/lib/pubid/nist/identifiers/circular.rb +7 -2
  351. data/lib/pubid/nist/identifiers/circular_supplement.rb +3 -2
  352. data/lib/pubid/nist/identifiers/commercial_standard.rb +2 -1
  353. data/lib/pubid/nist/identifiers/commercial_standard_emergency.rb +6 -4
  354. data/lib/pubid/nist/identifiers/commercial_standards_monthly.rb +10 -3
  355. data/lib/pubid/nist/identifiers/crpl_report.rb +8 -11
  356. data/lib/pubid/nist/identifiers/dated_document.rb +49 -0
  357. data/lib/pubid/nist/identifiers/federal_information_processing_standards.rb +17 -16
  358. data/lib/pubid/nist/identifiers/grant_contractor_report.rb +2 -1
  359. data/lib/pubid/nist/identifiers/handbook.rb +2 -1
  360. data/lib/pubid/nist/identifiers/internal_report.rb +2 -1
  361. data/lib/pubid/nist/identifiers/letter_circular.rb +2 -1
  362. data/lib/pubid/nist/identifiers/miscellaneous_publication.rb +5 -4
  363. data/lib/pubid/nist/identifiers/monograph.rb +7 -3
  364. data/lib/pubid/nist/identifiers/report.rb +4 -3
  365. data/lib/pubid/nist/identifiers/special_publication.rb +2 -1
  366. data/lib/pubid/nist/identifiers/technical_note.rb +3 -2
  367. data/lib/pubid/nist/identifiers.rb +1 -0
  368. data/lib/pubid/nist/parser.rb +67 -424
  369. data/lib/pubid/nist/parser_output_normalizer.rb +233 -0
  370. data/lib/pubid/nist/preprocessor.rb +416 -0
  371. data/lib/pubid/nist/renderer.rb +43 -0
  372. data/lib/pubid/nist/router.rb +148 -0
  373. data/lib/pubid/nist/series/base.rb +58 -0
  374. data/lib/pubid/nist/series/crpl.rb +13 -0
  375. data/lib/pubid/nist/series/fips.rb +14 -0
  376. data/lib/pubid/nist/series/ir.rb +60 -0
  377. data/lib/pubid/nist/series/letter_preserving.rb +15 -0
  378. data/lib/pubid/nist/series/mono.rb +19 -0
  379. data/lib/pubid/nist/series/ncstar.rb +20 -0
  380. data/lib/pubid/nist/series.rb +49 -0
  381. data/lib/pubid/nist/supplement_identifier.rb +11 -25
  382. data/lib/pubid/nist/urn_generator.rb +14 -8
  383. data/lib/pubid/nist/urn_parser.rb +67 -0
  384. data/lib/pubid/nist.rb +83 -4
  385. data/lib/pubid/oiml/components/code.rb +10 -0
  386. data/lib/pubid/oiml/identifiers/annex.rb +3 -45
  387. data/lib/pubid/oiml/identifiers/base.rb +2 -17
  388. data/lib/pubid/oiml/renderer.rb +161 -0
  389. data/lib/pubid/oiml/single_identifier.rb +6 -45
  390. data/lib/pubid/oiml/supplement_identifier.rb +4 -19
  391. data/lib/pubid/oiml/urn_generator.rb +0 -8
  392. data/lib/pubid/oiml/urn_parser.rb +22 -0
  393. data/lib/pubid/oiml.rb +42 -1
  394. data/lib/pubid/plateau/identifier.rb +23 -0
  395. data/lib/pubid/plateau/identifiers/handbook.rb +1 -3
  396. data/lib/pubid/plateau/identifiers/technical_report.rb +1 -1
  397. data/lib/pubid/plateau/renderer.rb +51 -0
  398. data/lib/pubid/plateau/supplement_identifier.rb +1 -1
  399. data/lib/pubid/plateau/urn_parser.rb +43 -0
  400. data/lib/pubid/plateau.rb +44 -1
  401. data/lib/pubid/renderers/base.rb +34 -0
  402. data/lib/pubid/renderers/directives_renderer.rb +27 -14
  403. data/lib/pubid/renderers/guide_renderer.rb +7 -1
  404. data/lib/pubid/renderers/human_readable.rb +31 -8
  405. data/lib/pubid/renderers/iwa_renderer.rb +5 -1
  406. data/lib/pubid/renderers/supplement_renderer.rb +4 -1
  407. data/lib/pubid/rendering/context.rb +33 -21
  408. data/lib/pubid/rendering.rb +0 -3
  409. data/lib/pubid/sae/components/date.rb +8 -0
  410. data/lib/pubid/sae/components/type.rb +5 -1
  411. data/lib/pubid/sae/identifiers/base.rb +2 -16
  412. data/lib/pubid/sae/renderer.rb +36 -0
  413. data/lib/pubid/sae/urn_generator.rb +2 -10
  414. data/lib/pubid/sae/urn_parser.rb +36 -0
  415. data/lib/pubid/sae.rb +42 -1
  416. data/lib/pubid/urn_generator/base.rb +12 -12
  417. data/lib/pubid/urn_parser/base.rb +81 -0
  418. data/lib/pubid/urn_parser/errors.rb +9 -0
  419. data/lib/pubid/urn_parser.rb +14 -0
  420. data/lib/pubid/version.rb +1 -1
  421. data/lib/pubid.rb +29 -7
  422. data/lib/tasks/website-data.json +1940 -1882
  423. metadata +77 -43
  424. data/lib/pubid/amca/scheme.rb +0 -16
  425. data/lib/pubid/ansi/scheme.rb +0 -15
  426. data/lib/pubid/api/scheme.rb +0 -66
  427. data/lib/pubid/ashrae/scheme.rb +0 -53
  428. data/lib/pubid/asme/scheme.rb +0 -37
  429. data/lib/pubid/astm/scheme.rb +0 -55
  430. data/lib/pubid/bsi/identifiers/base.rb +0 -11
  431. data/lib/pubid/bsi/scheme.rb +0 -243
  432. data/lib/pubid/ccsds/scheme.rb +0 -57
  433. data/lib/pubid/cen_cenelec/scheme.rb +0 -164
  434. data/lib/pubid/cie/scheme.rb +0 -64
  435. data/lib/pubid/csa/scheme.rb +0 -44
  436. data/lib/pubid/etsi/scheme.rb +0 -42
  437. data/lib/pubid/export/data_class_exporter.rb +0 -59
  438. data/lib/pubid/export/ieee_exporter.rb +0 -78
  439. data/lib/pubid/export/itu_exporter.rb +0 -66
  440. data/lib/pubid/export/nist_exporter.rb +0 -64
  441. data/lib/pubid/export/registry_exporter.rb +0 -90
  442. data/lib/pubid/export/scheme_exporter.rb +0 -70
  443. data/lib/pubid/identifier_registry.rb +0 -198
  444. data/lib/pubid/idf/scheme.rb +0 -61
  445. data/lib/pubid/iec/scheme.rb +0 -71
  446. data/lib/pubid/ieee/scheme.rb +0 -90
  447. data/lib/pubid/iho/scheme.rb +0 -29
  448. data/lib/pubid/iso/identifiers/base.rb +0 -115
  449. data/lib/pubid/iso/scheme.rb +0 -187
  450. data/lib/pubid/itu/scheme.rb +0 -174
  451. data/lib/pubid/jcgm/scheme.rb +0 -60
  452. data/lib/pubid/jis/components/code.rb +0 -59
  453. data/lib/pubid/jis/identifiers/base.rb +0 -72
  454. data/lib/pubid/jis/scheme.rb +0 -49
  455. data/lib/pubid/nist/components/publisher.rb +0 -24
  456. data/lib/pubid/nist/scheme.rb +0 -199
  457. data/lib/pubid/oiml/scheme.rb +0 -46
  458. data/lib/pubid/plateau/scheme.rb +0 -45
  459. data/lib/pubid/rendering/base.rb +0 -73
  460. data/lib/pubid/rendering/common.rb +0 -211
  461. data/lib/pubid/rendering/format.rb +0 -25
  462. data/lib/pubid/sae/scheme.rb +0 -47
  463. data/lib/pubid/scheme.rb +0 -207
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pubid
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.pre.alpha.1
4
+ version: 2.0.0.pre.alpha.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2026-05-21 00:00:00.000000000 Z
11
+ date: 2026-06-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: lutaml-model
@@ -80,9 +80,10 @@ files:
80
80
  - lib/pubid/amca/identifiers/publication.rb
81
81
  - lib/pubid/amca/identifiers/standard.rb
82
82
  - lib/pubid/amca/parser.rb
83
- - lib/pubid/amca/scheme.rb
83
+ - lib/pubid/amca/renderer.rb
84
84
  - lib/pubid/amca/single_identifier.rb
85
85
  - lib/pubid/amca/urn_generator.rb
86
+ - lib/pubid/amca/urn_parser.rb
86
87
  - lib/pubid/ansi.rb
87
88
  - lib/pubid/ansi/builder.rb
88
89
  - lib/pubid/ansi/identifier.rb
@@ -90,13 +91,15 @@ files:
90
91
  - lib/pubid/ansi/identifiers/american_national_standard.rb
91
92
  - lib/pubid/ansi/identifiers/standard.rb
92
93
  - lib/pubid/ansi/parser.rb
93
- - lib/pubid/ansi/scheme.rb
94
+ - lib/pubid/ansi/renderer.rb
94
95
  - lib/pubid/ansi/single_identifier.rb
95
96
  - lib/pubid/ansi/urn_generator.rb
97
+ - lib/pubid/ansi/urn_parser.rb
96
98
  - lib/pubid/api.rb
97
99
  - lib/pubid/api/builder.rb
98
100
  - lib/pubid/api/components/code.rb
99
101
  - lib/pubid/api/identifier.rb
102
+ - lib/pubid/api/identifiers.rb
100
103
  - lib/pubid/api/identifiers/base.rb
101
104
  - lib/pubid/api/identifiers/bulletin.rb
102
105
  - lib/pubid/api/identifiers/continuous_operations_standard.rb
@@ -108,9 +111,10 @@ files:
108
111
  - lib/pubid/api/identifiers/technical_report.rb
109
112
  - lib/pubid/api/identifiers/typeless_standard.rb
110
113
  - lib/pubid/api/parser.rb
111
- - lib/pubid/api/scheme.rb
114
+ - lib/pubid/api/renderer.rb
112
115
  - lib/pubid/api/single_identifier.rb
113
116
  - lib/pubid/api/urn_generator.rb
117
+ - lib/pubid/api/urn_parser.rb
114
118
  - lib/pubid/ashrae.rb
115
119
  - lib/pubid/ashrae/builder.rb
116
120
  - lib/pubid/ashrae/identifier.rb
@@ -124,10 +128,11 @@ files:
124
128
  - lib/pubid/ashrae/identifiers/interpretation.rb
125
129
  - lib/pubid/ashrae/identifiers/standard.rb
126
130
  - lib/pubid/ashrae/parser.rb
127
- - lib/pubid/ashrae/scheme.rb
131
+ - lib/pubid/ashrae/renderer.rb
128
132
  - lib/pubid/ashrae/single_identifier.rb
129
133
  - lib/pubid/ashrae/supplement_identifier.rb
130
134
  - lib/pubid/ashrae/urn_generator.rb
135
+ - lib/pubid/ashrae/urn_parser.rb
131
136
  - lib/pubid/asme.rb
132
137
  - lib/pubid/asme/builder.rb
133
138
  - lib/pubid/asme/components/code.rb
@@ -136,13 +141,16 @@ files:
136
141
  - lib/pubid/asme/identifiers/base.rb
137
142
  - lib/pubid/asme/identifiers/standard.rb
138
143
  - lib/pubid/asme/parser.rb
139
- - lib/pubid/asme/scheme.rb
144
+ - lib/pubid/asme/renderer.rb
140
145
  - lib/pubid/asme/single_identifier.rb
141
146
  - lib/pubid/asme/urn_generator.rb
147
+ - lib/pubid/asme/urn_parser.rb
142
148
  - lib/pubid/astm.rb
143
149
  - lib/pubid/astm/builder.rb
150
+ - lib/pubid/astm/components.rb
144
151
  - lib/pubid/astm/components/code.rb
145
152
  - lib/pubid/astm/identifier.rb
153
+ - lib/pubid/astm/identifiers.rb
146
154
  - lib/pubid/astm/identifiers/adjunct.rb
147
155
  - lib/pubid/astm/identifiers/base.rb
148
156
  - lib/pubid/astm/identifiers/data_series.rb
@@ -154,9 +162,10 @@ files:
154
162
  - lib/pubid/astm/identifiers/technical_report.rb
155
163
  - lib/pubid/astm/identifiers/work_in_progress.rb
156
164
  - lib/pubid/astm/parser.rb
157
- - lib/pubid/astm/scheme.rb
165
+ - lib/pubid/astm/renderer.rb
158
166
  - lib/pubid/astm/single_identifier.rb
159
167
  - lib/pubid/astm/urn_generator.rb
168
+ - lib/pubid/astm/urn_parser.rb
160
169
  - lib/pubid/bsi.rb
161
170
  - lib/pubid/bsi/builder.rb
162
171
  - lib/pubid/bsi/components/code.rb
@@ -170,7 +179,6 @@ files:
170
179
  - lib/pubid/bsi/identifiers/adopted_international_standard.rb
171
180
  - lib/pubid/bsi/identifiers/aerospace_standard.rb
172
181
  - lib/pubid/bsi/identifiers/amendment.rb
173
- - lib/pubid/bsi/identifiers/base.rb
174
182
  - lib/pubid/bsi/identifiers/british_industrial_practice.rb
175
183
  - lib/pubid/bsi/identifiers/british_standard.rb
176
184
  - lib/pubid/bsi/identifiers/bundled_identifier.rb
@@ -201,9 +209,10 @@ files:
201
209
  - lib/pubid/bsi/identifiers/value_added_publication.rb
202
210
  - lib/pubid/bsi/model.rb
203
211
  - lib/pubid/bsi/parser.rb
204
- - lib/pubid/bsi/scheme.rb
212
+ - lib/pubid/bsi/renderer.rb
205
213
  - lib/pubid/bsi/single_identifier.rb
206
214
  - lib/pubid/bsi/urn_generator.rb
215
+ - lib/pubid/bsi/urn_parser.rb
207
216
  - lib/pubid/builder/base.rb
208
217
  - lib/pubid/bundled_identifier.rb
209
218
  - lib/pubid/ccsds.rb
@@ -214,10 +223,10 @@ files:
214
223
  - lib/pubid/ccsds/identifiers/base_BASE_88929.rb
215
224
  - lib/pubid/ccsds/identifiers/corrigendum.rb
216
225
  - lib/pubid/ccsds/parser.rb
217
- - lib/pubid/ccsds/scheme.rb
218
226
  - lib/pubid/ccsds/single_identifier.rb
219
227
  - lib/pubid/ccsds/supplement_identifier.rb
220
228
  - lib/pubid/ccsds/urn_generator.rb
229
+ - lib/pubid/ccsds/urn_parser.rb
221
230
  - lib/pubid/cen_cenelec.rb
222
231
  - lib/pubid/cen_cenelec/builder.rb
223
232
  - lib/pubid/cen_cenelec/identifier.rb
@@ -239,10 +248,11 @@ files:
239
248
  - lib/pubid/cen_cenelec/identifiers/technical_report.rb
240
249
  - lib/pubid/cen_cenelec/identifiers/technical_specification.rb
241
250
  - lib/pubid/cen_cenelec/parser.rb
242
- - lib/pubid/cen_cenelec/scheme.rb
251
+ - lib/pubid/cen_cenelec/renderer.rb
243
252
  - lib/pubid/cen_cenelec/single_identifier.rb
244
253
  - lib/pubid/cen_cenelec/supplement_identifier.rb
245
254
  - lib/pubid/cen_cenelec/urn_generator.rb
255
+ - lib/pubid/cen_cenelec/urn_parser.rb
246
256
  - lib/pubid/cie.rb
247
257
  - lib/pubid/cie/builder.rb
248
258
  - lib/pubid/cie/components/code.rb
@@ -259,18 +269,22 @@ files:
259
269
  - lib/pubid/cie/identifiers/supplement.rb
260
270
  - lib/pubid/cie/identifiers/tutorial_bundle.rb
261
271
  - lib/pubid/cie/parser.rb
262
- - lib/pubid/cie/scheme.rb
263
272
  - lib/pubid/cie/single_identifier.rb
264
273
  - lib/pubid/cie/supplement_identifier.rb
265
274
  - lib/pubid/cie/urn_generator.rb
275
+ - lib/pubid/cie/urn_parser.rb
266
276
  - lib/pubid/components.rb
277
+ - lib/pubid/components/adoption.rb
267
278
  - lib/pubid/components/code.rb
268
279
  - lib/pubid/components/date.rb
269
280
  - lib/pubid/components/edition.rb
281
+ - lib/pubid/components/iteration.rb
270
282
  - lib/pubid/components/language.rb
271
283
  - lib/pubid/components/locality.rb
272
284
  - lib/pubid/components/publisher.rb
285
+ - lib/pubid/components/relationship.rb
273
286
  - lib/pubid/components/stage.rb
287
+ - lib/pubid/components/supplement.rb
274
288
  - lib/pubid/components/type.rb
275
289
  - lib/pubid/components/typed_stage.rb
276
290
  - lib/pubid/core.rb
@@ -293,9 +307,10 @@ files:
293
307
  - lib/pubid/csa/identifiers/series.rb
294
308
  - lib/pubid/csa/identifiers/standard.rb
295
309
  - lib/pubid/csa/parser.rb
296
- - lib/pubid/csa/scheme.rb
310
+ - lib/pubid/csa/renderer.rb
297
311
  - lib/pubid/csa/single_identifier.rb
298
312
  - lib/pubid/csa/urn_generator.rb
313
+ - lib/pubid/csa/urn_parser.rb
299
314
  - lib/pubid/csa/wrapper_identifier.rb
300
315
  - lib/pubid/etsi.rb
301
316
  - lib/pubid/etsi/builder.rb
@@ -310,24 +325,19 @@ files:
310
325
  - lib/pubid/etsi/identifiers/etsi_standard.rb
311
326
  - lib/pubid/etsi/identifiers/supplement_identifier.rb
312
327
  - lib/pubid/etsi/parser.rb
313
- - lib/pubid/etsi/scheme.rb
328
+ - lib/pubid/etsi/renderer.rb
314
329
  - lib/pubid/etsi/urn_generator.rb
330
+ - lib/pubid/etsi/urn_parser.rb
315
331
  - lib/pubid/export.rb
316
332
  - lib/pubid/export/auditor.rb
317
- - lib/pubid/export/data_class_exporter.rb
318
333
  - lib/pubid/export/exporter.rb
319
334
  - lib/pubid/export/flavor_exporter.rb
320
- - lib/pubid/export/ieee_exporter.rb
321
- - lib/pubid/export/itu_exporter.rb
322
- - lib/pubid/export/nist_exporter.rb
323
- - lib/pubid/export/registry_exporter.rb
324
335
  - lib/pubid/export/result.rb
325
- - lib/pubid/export/scheme_exporter.rb
326
336
  - lib/pubid/format_detector.rb
327
337
  - lib/pubid/format_registry.rb
328
338
  - lib/pubid/identifier.rb
339
+ - lib/pubid/identifier_facade.rb
329
340
  - lib/pubid/identifier_metadata.rb
330
- - lib/pubid/identifier_registry.rb
331
341
  - lib/pubid/idf.rb
332
342
  - lib/pubid/idf/builder.rb
333
343
  - lib/pubid/idf/identifier.rb
@@ -337,12 +347,14 @@ files:
337
347
  - lib/pubid/idf/identifiers/international_standard.rb
338
348
  - lib/pubid/idf/identifiers/reviewed_method.rb
339
349
  - lib/pubid/idf/parser.rb
340
- - lib/pubid/idf/scheme.rb
350
+ - lib/pubid/idf/renderer.rb
341
351
  - lib/pubid/idf/single_identifier.rb
342
352
  - lib/pubid/idf/supplement_identifier.rb
343
353
  - lib/pubid/idf/urn_generator.rb
354
+ - lib/pubid/idf/urn_parser.rb
344
355
  - lib/pubid/iec.rb
345
356
  - lib/pubid/iec/builder.rb
357
+ - lib/pubid/iec/components.rb
346
358
  - lib/pubid/iec/components/code.rb
347
359
  - lib/pubid/iec/components/consolidated_amendment.rb
348
360
  - lib/pubid/iec/components/publisher.rb
@@ -350,6 +362,7 @@ files:
350
362
  - lib/pubid/iec/components/trf_info.rb
351
363
  - lib/pubid/iec/components/vap_suffix.rb
352
364
  - lib/pubid/iec/identifier.rb
365
+ - lib/pubid/iec/identifiers.rb
353
366
  - lib/pubid/iec/identifiers/amendment.rb
354
367
  - lib/pubid/iec/identifiers/base.rb
355
368
  - lib/pubid/iec/identifiers/component_specification.rb
@@ -373,8 +386,8 @@ files:
373
386
  - lib/pubid/iec/identifiers/white_paper.rb
374
387
  - lib/pubid/iec/identifiers/working_document.rb
375
388
  - lib/pubid/iec/parser.rb
389
+ - lib/pubid/iec/renderer.rb
376
390
  - lib/pubid/iec/rendering_style.rb
377
- - lib/pubid/iec/scheme.rb
378
391
  - lib/pubid/iec/single_identifier.rb
379
392
  - lib/pubid/iec/supplement_identifier.rb
380
393
  - lib/pubid/iec/urn_generator.rb
@@ -422,9 +435,11 @@ files:
422
435
  - lib/pubid/ieee/nesc/builder.rb
423
436
  - lib/pubid/ieee/nesc/parser.rb
424
437
  - lib/pubid/ieee/parser.rb
425
- - lib/pubid/ieee/scheme.rb
438
+ - lib/pubid/ieee/pre_parser.rb
439
+ - lib/pubid/ieee/renderer.rb
426
440
  - lib/pubid/ieee/typed_stages.rb
427
441
  - lib/pubid/ieee/urn_generator.rb
442
+ - lib/pubid/ieee/urn_parser.rb
428
443
  - lib/pubid/ieee_debug.rb
429
444
  - lib/pubid/iho.rb
430
445
  - lib/pubid/iho/builder.rb
@@ -437,8 +452,9 @@ files:
437
452
  - lib/pubid/iho/identifiers/publication.rb
438
453
  - lib/pubid/iho/identifiers/standard.rb
439
454
  - lib/pubid/iho/parser.rb
440
- - lib/pubid/iho/scheme.rb
455
+ - lib/pubid/iho/renderer.rb
441
456
  - lib/pubid/iho/urn_generator.rb
457
+ - lib/pubid/iho/urn_parser.rb
442
458
  - lib/pubid/iso.rb
443
459
  - lib/pubid/iso/builder.rb
444
460
  - lib/pubid/iso/bundled_identifier.rb
@@ -451,7 +467,6 @@ files:
451
467
  - lib/pubid/iso/identifiers.rb
452
468
  - lib/pubid/iso/identifiers/addendum.rb
453
469
  - lib/pubid/iso/identifiers/amendment.rb
454
- - lib/pubid/iso/identifiers/base.rb
455
470
  - lib/pubid/iso/identifiers/corrigendum.rb
456
471
  - lib/pubid/iso/identifiers/data.rb
457
472
  - lib/pubid/iso/identifiers/directives.rb
@@ -468,9 +483,9 @@ files:
468
483
  - lib/pubid/iso/identifiers/technical_report.rb
469
484
  - lib/pubid/iso/identifiers/technical_specification.rb
470
485
  - lib/pubid/iso/identifiers/technology_trends_assessments.rb
486
+ - lib/pubid/iso/normalizer.rb
471
487
  - lib/pubid/iso/parser.rb
472
488
  - lib/pubid/iso/rendering_style.rb
473
- - lib/pubid/iso/scheme.rb
474
489
  - lib/pubid/iso/single_identifier.rb
475
490
  - lib/pubid/iso/supplement_identifier.rb
476
491
  - lib/pubid/iso/urn_generator.rb
@@ -478,6 +493,7 @@ files:
478
493
  - lib/pubid/iso/utilities.rb
479
494
  - lib/pubid/itu.rb
480
495
  - lib/pubid/itu/builder.rb
496
+ - lib/pubid/itu/components.rb
481
497
  - lib/pubid/itu/components/code.rb
482
498
  - lib/pubid/itu/components/sector.rb
483
499
  - lib/pubid/itu/components/series.rb
@@ -495,8 +511,8 @@ files:
495
511
  - lib/pubid/itu/identifiers/supplement.rb
496
512
  - lib/pubid/itu/model.rb
497
513
  - lib/pubid/itu/parser.rb
498
- - lib/pubid/itu/scheme.rb
499
514
  - lib/pubid/itu/urn_generator.rb
515
+ - lib/pubid/itu/urn_parser.rb
500
516
  - lib/pubid/jcgm.rb
501
517
  - lib/pubid/jcgm/builder.rb
502
518
  - lib/pubid/jcgm/components.rb
@@ -507,37 +523,38 @@ files:
507
523
  - lib/pubid/jcgm/identifiers/guide.rb
508
524
  - lib/pubid/jcgm/identifiers/gum_guide.rb
509
525
  - lib/pubid/jcgm/parser.rb
510
- - lib/pubid/jcgm/scheme.rb
526
+ - lib/pubid/jcgm/renderer.rb
511
527
  - lib/pubid/jcgm/single_identifier.rb
512
528
  - lib/pubid/jcgm/supplement_identifier.rb
513
529
  - lib/pubid/jcgm/urn_generator.rb
530
+ - lib/pubid/jcgm/urn_parser.rb
514
531
  - lib/pubid/jis.rb
515
532
  - lib/pubid/jis/builder.rb
516
- - lib/pubid/jis/components.rb
517
- - lib/pubid/jis/components/code.rb
518
533
  - lib/pubid/jis/identifier.rb
519
534
  - lib/pubid/jis/identifiers.rb
520
535
  - lib/pubid/jis/identifiers/amendment.rb
521
- - lib/pubid/jis/identifiers/base.rb
536
+ - lib/pubid/jis/identifiers/corrigendum.rb
522
537
  - lib/pubid/jis/identifiers/explanation.rb
523
538
  - lib/pubid/jis/identifiers/japanese_industrial_standard.rb
524
539
  - lib/pubid/jis/identifiers/standard.rb
525
540
  - lib/pubid/jis/identifiers/technical_report.rb
526
541
  - lib/pubid/jis/identifiers/technical_specification.rb
527
542
  - lib/pubid/jis/parser.rb
528
- - lib/pubid/jis/scheme.rb
543
+ - lib/pubid/jis/renderer.rb
529
544
  - lib/pubid/jis/single_identifier.rb
530
545
  - lib/pubid/jis/supplement_identifier.rb
531
546
  - lib/pubid/jis/urn_generator.rb
547
+ - lib/pubid/jis/urn_parser.rb
532
548
  - lib/pubid/lutaml/no_store_registration.rb
533
549
  - lib/pubid/nist.rb
534
550
  - lib/pubid/nist/builder.rb
551
+ - lib/pubid/nist/caster.rb
552
+ - lib/pubid/nist/circular_supplement_builder.rb
535
553
  - lib/pubid/nist/components.rb
536
554
  - lib/pubid/nist/components/code.rb
537
555
  - lib/pubid/nist/components/edition.rb
538
556
  - lib/pubid/nist/components/issue_number.rb
539
557
  - lib/pubid/nist/components/part.rb
540
- - lib/pubid/nist/components/publisher.rb
541
558
  - lib/pubid/nist/components/stage.rb
542
559
  - lib/pubid/nist/components/supplement.rb
543
560
  - lib/pubid/nist/components/translation.rb
@@ -545,6 +562,7 @@ files:
545
562
  - lib/pubid/nist/components/version.rb
546
563
  - lib/pubid/nist/components/volume.rb
547
564
  - lib/pubid/nist/configuration.rb
565
+ - lib/pubid/nist/identifier.rb
548
566
  - lib/pubid/nist/identifiers.rb
549
567
  - lib/pubid/nist/identifiers/base.rb
550
568
  - lib/pubid/nist/identifiers/circular.rb
@@ -553,6 +571,7 @@ files:
553
571
  - lib/pubid/nist/identifiers/commercial_standard_emergency.rb
554
572
  - lib/pubid/nist/identifiers/commercial_standards_monthly.rb
555
573
  - lib/pubid/nist/identifiers/crpl_report.rb
574
+ - lib/pubid/nist/identifiers/dated_document.rb
556
575
  - lib/pubid/nist/identifiers/federal_information_processing_standards.rb
557
576
  - lib/pubid/nist/identifiers/grant_contractor_report.rb
558
577
  - lib/pubid/nist/identifiers/handbook.rb
@@ -567,9 +586,21 @@ files:
567
586
  - lib/pubid/nist/identifiers/special_publication.rb
568
587
  - lib/pubid/nist/identifiers/technical_note.rb
569
588
  - lib/pubid/nist/parser.rb
570
- - lib/pubid/nist/scheme.rb
589
+ - lib/pubid/nist/parser_output_normalizer.rb
590
+ - lib/pubid/nist/preprocessor.rb
591
+ - lib/pubid/nist/renderer.rb
592
+ - lib/pubid/nist/router.rb
593
+ - lib/pubid/nist/series.rb
594
+ - lib/pubid/nist/series/base.rb
595
+ - lib/pubid/nist/series/crpl.rb
596
+ - lib/pubid/nist/series/fips.rb
597
+ - lib/pubid/nist/series/ir.rb
598
+ - lib/pubid/nist/series/letter_preserving.rb
599
+ - lib/pubid/nist/series/mono.rb
600
+ - lib/pubid/nist/series/ncstar.rb
571
601
  - lib/pubid/nist/supplement_identifier.rb
572
602
  - lib/pubid/nist/urn_generator.rb
603
+ - lib/pubid/nist/urn_parser.rb
573
604
  - lib/pubid/oiml.rb
574
605
  - lib/pubid/oiml/builder.rb
575
606
  - lib/pubid/oiml/components.rb
@@ -587,10 +618,11 @@ files:
587
618
  - lib/pubid/oiml/identifiers/seminar_report.rb
588
619
  - lib/pubid/oiml/identifiers/vocabulary.rb
589
620
  - lib/pubid/oiml/parser.rb
590
- - lib/pubid/oiml/scheme.rb
621
+ - lib/pubid/oiml/renderer.rb
591
622
  - lib/pubid/oiml/single_identifier.rb
592
623
  - lib/pubid/oiml/supplement_identifier.rb
593
624
  - lib/pubid/oiml/urn_generator.rb
625
+ - lib/pubid/oiml/urn_parser.rb
594
626
  - lib/pubid/parser.rb
595
627
  - lib/pubid/parser/common_parse_methods.rb
596
628
  - lib/pubid/parser/common_parse_rules.rb
@@ -598,15 +630,17 @@ files:
598
630
  - lib/pubid/parsers/mr_string.rb
599
631
  - lib/pubid/plateau.rb
600
632
  - lib/pubid/plateau/builder.rb
633
+ - lib/pubid/plateau/identifier.rb
601
634
  - lib/pubid/plateau/identifiers.rb
602
635
  - lib/pubid/plateau/identifiers/annex.rb
603
636
  - lib/pubid/plateau/identifiers/base.rb
604
637
  - lib/pubid/plateau/identifiers/handbook.rb
605
638
  - lib/pubid/plateau/identifiers/technical_report.rb
606
639
  - lib/pubid/plateau/parser.rb
607
- - lib/pubid/plateau/scheme.rb
640
+ - lib/pubid/plateau/renderer.rb
608
641
  - lib/pubid/plateau/supplement_identifier.rb
609
642
  - lib/pubid/plateau/urn_generator.rb
643
+ - lib/pubid/plateau/urn_parser.rb
610
644
  - lib/pubid/renderers.rb
611
645
  - lib/pubid/renderers/base.rb
612
646
  - lib/pubid/renderers/directives_renderer.rb
@@ -617,11 +651,8 @@ files:
617
651
  - lib/pubid/renderers/supplement_renderer.rb
618
652
  - lib/pubid/renderers/urn.rb
619
653
  - lib/pubid/rendering.rb
620
- - lib/pubid/rendering/base.rb
621
- - lib/pubid/rendering/common.rb
622
654
  - lib/pubid/rendering/context.rb
623
655
  - lib/pubid/rendering/date.rb
624
- - lib/pubid/rendering/format.rb
625
656
  - lib/pubid/rendering/language.rb
626
657
  - lib/pubid/rendering/numbering.rb
627
658
  - lib/pubid/rendering/publisher.rb
@@ -637,10 +668,13 @@ files:
637
668
  - lib/pubid/sae/identifiers.rb
638
669
  - lib/pubid/sae/identifiers/base.rb
639
670
  - lib/pubid/sae/parser.rb
640
- - lib/pubid/sae/scheme.rb
671
+ - lib/pubid/sae/renderer.rb
641
672
  - lib/pubid/sae/urn_generator.rb
642
- - lib/pubid/scheme.rb
673
+ - lib/pubid/sae/urn_parser.rb
643
674
  - lib/pubid/urn_generator/base.rb
675
+ - lib/pubid/urn_parser.rb
676
+ - lib/pubid/urn_parser/base.rb
677
+ - lib/pubid/urn_parser/errors.rb
644
678
  - lib/pubid/utils.rb
645
679
  - lib/pubid/utils/string_normalizer.rb
646
680
  - lib/pubid/version.rb
@@ -1,16 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pubid
4
- module Amca
5
- # Scheme class for ACMA identifier configuration
6
- class Scheme < Pubid::Scheme
7
- def initialize
8
- @identifiers = [
9
- Identifiers::Standard,
10
- Identifiers::Publication,
11
- Identifiers::Interpretation,
12
- ].freeze
13
- end
14
- end
15
- end
16
- end
@@ -1,15 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pubid
4
- module Ansi
5
- # Scheme configuration for ANSI identifiers
6
- IDENTIFIER_TYPES = [
7
- Identifiers::Standard,
8
- ].freeze
9
-
10
- Scheme = Pubid::Scheme.new(
11
- identifiers: IDENTIFIER_TYPES,
12
- supplement_identifiers: [],
13
- )
14
- end
15
- end
@@ -1,66 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "identifiers/base"
4
- require_relative "identifiers/bulletin"
5
- require_relative "identifiers/continuous_operations_standard"
6
- require_relative "identifiers/mpms"
7
- require_relative "identifiers/publication"
8
- require_relative "identifiers/recommended_practice"
9
- require_relative "identifiers/specification"
10
- require_relative "identifiers/standard"
11
- require_relative "identifiers/technical_report"
12
- require_relative "identifiers/typeless_standard"
13
-
14
- module Pubid
15
- module Api
16
- class Scheme < Pubid::Scheme
17
- class << self
18
- def identifiers
19
- [
20
- Identifiers::Standard,
21
- Identifiers::RecommendedPractice,
22
- Identifiers::Specification,
23
- Identifiers::TechnicalReport,
24
- Identifiers::Bulletin,
25
- Identifiers::Mpms,
26
- Identifiers::ContinuousOperationsStandard,
27
- Identifiers::Publication,
28
- Identifiers::TypelessStandard,
29
- ]
30
- end
31
-
32
- def typed_stages
33
- identifiers.flat_map { |klass| klass::TYPED_STAGES }
34
- end
35
-
36
- def locate_typed_stage_by_abbr(abbr)
37
- abbr = "API" if abbr.nil? || abbr.to_s.empty?
38
-
39
- typed_stage = typed_stages.detect do |ts|
40
- ts.abbr.include?(abbr)
41
- end
42
-
43
- unless typed_stage
44
- raise ArgumentError,
45
- "Unknown type abbreviation: '#{abbr}'"
46
- end
47
-
48
- typed_stage
49
- end
50
-
51
- def locate_identifier_klass_by_type_code(type_code)
52
- identifier_klass = identifiers.detect do |klass|
53
- klass.type[:key].to_s == type_code.to_s
54
- end
55
-
56
- unless identifier_klass
57
- raise ArgumentError,
58
- "Unknown type code: #{type_code}"
59
- end
60
-
61
- identifier_klass
62
- end
63
- end
64
- end
65
- end
66
- end
@@ -1,53 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pubid
4
- module Ashrae
5
- class Scheme < Pubid::Scheme
6
- class << self
7
- def identifiers
8
- [
9
- Identifiers::Guideline,
10
- Identifiers::Standard,
11
- Identifiers::Addendum,
12
- Identifiers::Interpretation,
13
- Identifiers::Errata,
14
- Identifiers::CombinedAddenda,
15
- Identifiers::AddendaPackage,
16
- ]
17
- end
18
-
19
- def typed_stages
20
- identifiers.flat_map { |klass| klass::TYPED_STAGES }
21
- end
22
-
23
- def locate_typed_stage_by_abbr(abbr)
24
- abbr = "ASHRAE" if abbr.nil? || abbr.to_s.empty?
25
-
26
- typed_stage = typed_stages.detect do |ts|
27
- ts.abbr.include?(abbr)
28
- end
29
-
30
- unless typed_stage
31
- raise ArgumentError,
32
- "Unknown type abbreviation: '#{abbr}'"
33
- end
34
-
35
- typed_stage
36
- end
37
-
38
- def locate_identifier_klass_by_type_code(type_code)
39
- identifier_klass = identifiers.detect do |klass|
40
- klass.type[:key].to_s == type_code.to_s
41
- end
42
-
43
- unless identifier_klass
44
- raise ArgumentError,
45
- "Unknown type code: #{type_code}"
46
- end
47
-
48
- identifier_klass
49
- end
50
- end
51
- end
52
- end
53
- end
@@ -1,37 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Pubid
4
- module Asme
5
- class Scheme < Pubid::Scheme
6
- class << self
7
- def identifiers
8
- @identifiers ||= [
9
- Identifiers::Standard,
10
- ].freeze
11
- end
12
-
13
- def supplement_identifiers
14
- @supplement_identifiers ||= [].freeze
15
- end
16
-
17
- def typed_stages
18
- @typed_stages ||= [].freeze
19
- end
20
-
21
- def supplement_typed_stages
22
- @supplement_typed_stages ||= [].freeze
23
- end
24
-
25
- def locate_typed_stage_by_abbr(_abbr)
26
- raise ArgumentError,
27
- "ASME identifiers do not use typed stages"
28
- end
29
-
30
- def locate_identifier_klass_by_type_code(_type_code)
31
- raise ArgumentError,
32
- "ASME identifiers do not use type codes"
33
- end
34
- end
35
- end
36
- end
37
- end
@@ -1,55 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative "identifiers/standard"
4
- require_relative "identifiers/manual"
5
- require_relative "identifiers/research_report"
6
- require_relative "identifiers/data_series"
7
- require_relative "identifiers/technical_report"
8
- require_relative "identifiers/monograph"
9
- require_relative "identifiers/adjunct"
10
- require_relative "identifiers/work_in_progress"
11
- require_relative "identifiers/iso_dual_published"
12
-
13
- module Pubid
14
- module Astm
15
- class Scheme < Pubid::Scheme
16
- class << self
17
- def identifiers
18
- @identifiers ||= [
19
- Identifiers::Standard,
20
- Identifiers::Manual,
21
- Identifiers::ResearchReport,
22
- Identifiers::DataSeries,
23
- Identifiers::TechnicalReport,
24
- Identifiers::Monograph,
25
- Identifiers::Adjunct,
26
- Identifiers::WorkInProgress,
27
- Identifiers::IsoDualPublished,
28
- ].freeze
29
- end
30
-
31
- def supplement_identifiers
32
- @supplement_identifiers ||= [].freeze
33
- end
34
-
35
- def typed_stages
36
- @typed_stages ||= [].freeze
37
- end
38
-
39
- def supplement_typed_stages
40
- @supplement_typed_stages ||= [].freeze
41
- end
42
-
43
- def locate_typed_stage_by_abbr(_abbr)
44
- raise ArgumentError,
45
- "ASTM identifiers do not use typed stages"
46
- end
47
-
48
- def locate_identifier_klass_by_type_code(_type_code)
49
- raise ArgumentError,
50
- "ASTM identifiers do not use type codes"
51
- end
52
- end
53
- end
54
- end
55
- end