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