pubid 2.0.0.pre.alpha.2 → 2.0.0.pre.alpha.4

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