relaton 3.0.0.pre.alpha.1 → 3.0.0.pre.alpha.2

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 (270) hide show
  1. checksums.yaml +4 -4
  2. data/README.adoc +57 -1
  3. data/bin/console +0 -1
  4. data/lib/relaton/3gpp/bibliography.rb +82 -7
  5. data/lib/relaton/3gpp/data_fetcher.rb +51 -3
  6. data/lib/relaton/3gpp/docidentifier.rb +114 -0
  7. data/lib/relaton/3gpp/item.rb +6 -0
  8. data/lib/relaton/3gpp/parser.rb +1 -1
  9. data/lib/relaton/3gpp/processor.rb +4 -1
  10. data/lib/relaton/3gpp.rb +5 -1
  11. data/lib/relaton/adobe/bibdata.rb +8 -0
  12. data/lib/relaton/adobe/bibitem.rb +8 -0
  13. data/lib/relaton/adobe/bibliography.rb +92 -0
  14. data/lib/relaton/adobe/docidentifier.rb +49 -0
  15. data/lib/relaton/adobe/doctype.rb +14 -0
  16. data/lib/relaton/adobe/ext.rb +32 -0
  17. data/lib/relaton/adobe/item.rb +15 -0
  18. data/lib/relaton/adobe/item_base.rb +18 -0
  19. data/lib/relaton/adobe/item_data.rb +6 -0
  20. data/lib/relaton/adobe/processor.rb +45 -0
  21. data/lib/relaton/adobe/util.rb +8 -0
  22. data/lib/relaton/adobe.rb +37 -0
  23. data/lib/relaton/bib/model/address.rb +2 -2
  24. data/lib/relaton/bib/model/docidentifier.rb +24 -9
  25. data/lib/relaton/bib/model/localized_string.rb +1 -1
  26. data/lib/relaton/bib/model/structured_identifier.rb +10 -9
  27. data/lib/relaton/bib/sanitizer.rb +202 -6
  28. data/lib/relaton/bib.rb +0 -2
  29. data/lib/relaton/bipm/bibliography.rb +159 -10
  30. data/lib/relaton/bipm/data_fetcher.rb +26 -2
  31. data/lib/relaton/bipm/data_outcomes_parser.rb +3 -4
  32. data/lib/relaton/bipm/id_parser.rb +5 -4
  33. data/lib/relaton/bipm/model/structured_identifier.rb +21 -0
  34. data/lib/relaton/bipm/processor.rb +2 -2
  35. data/lib/relaton/bipm/rawdata_bipm_metrologia/fetcher.rb +2 -4
  36. data/lib/relaton/bipm/si_brochure_parser.rb +5 -3
  37. data/lib/relaton/bipm.rb +7 -1
  38. data/lib/relaton/bsi/bibliography.rb +115 -43
  39. data/lib/relaton/bsi/hit.rb +14 -0
  40. data/lib/relaton/bsi/hit_collection.rb +15 -16
  41. data/lib/relaton/bsi/model/docidentifier.rb +99 -1
  42. data/lib/relaton/bsi/processor.rb +1 -0
  43. data/lib/relaton/calconnect/bibliography.rb +12 -14
  44. data/lib/relaton/calconnect/data_fetcher.rb +77 -9
  45. data/lib/relaton/calconnect/docidentifier.rb +80 -0
  46. data/lib/relaton/calconnect/hit_collection.rb +65 -57
  47. data/lib/relaton/calconnect/model/item.rb +7 -0
  48. data/lib/relaton/calconnect/processor.rb +7 -1
  49. data/lib/relaton/calconnect.rb +11 -1
  50. data/lib/relaton/ccsds/data/fetcher.rb +17 -12
  51. data/lib/relaton/ccsds/data/parser.rb +1 -1
  52. data/lib/relaton/ccsds/hit_collection.rb +6 -1
  53. data/lib/relaton/ccsds/model/docidentifier.rb +121 -0
  54. data/lib/relaton/ccsds/model/item.rb +2 -0
  55. data/lib/relaton/cen/bibliography.rb +75 -47
  56. data/lib/relaton/cen/hit.rb +16 -1
  57. data/lib/relaton/cen/hit_collection.rb +59 -11
  58. data/lib/relaton/cen/model/docidentifier.rb +92 -1
  59. data/lib/relaton/cen/processor.rb +13 -8
  60. data/lib/relaton/cen/scraper.rb +13 -5
  61. data/lib/relaton/cen.rb +1 -0
  62. data/lib/relaton/cie/data_fetcher.rb +215 -30
  63. data/lib/relaton/cie/processor.rb +3 -1
  64. data/lib/relaton/cie/scrapper.rb +15 -2
  65. data/lib/relaton/cie.rb +2 -1
  66. data/lib/relaton/core/data_fetcher.rb +150 -3
  67. data/lib/relaton/core/governor.rb +320 -0
  68. data/lib/relaton/core/pacer.rb +134 -0
  69. data/lib/relaton/core/processor.rb +19 -0
  70. data/lib/relaton/core/request_error.rb +14 -0
  71. data/lib/relaton/core.rb +3 -0
  72. data/lib/relaton/db/registry.rb +41 -1
  73. data/lib/relaton/doi/crossref.rb +19 -2
  74. data/lib/relaton/doi/parser.rb +109 -15
  75. data/lib/relaton/easc/bibdata.rb +8 -0
  76. data/lib/relaton/easc/bibitem.rb +8 -0
  77. data/lib/relaton/easc/bibliography.rb +95 -0
  78. data/lib/relaton/easc/docidentifier.rb +100 -0
  79. data/lib/relaton/easc/doctype.rb +14 -0
  80. data/lib/relaton/easc/ext.rb +44 -0
  81. data/lib/relaton/easc/item.rb +13 -0
  82. data/lib/relaton/easc/item_base.rb +18 -0
  83. data/lib/relaton/easc/item_data.rb +6 -0
  84. data/lib/relaton/easc/processor.rb +46 -0
  85. data/lib/relaton/easc/util.rb +8 -0
  86. data/lib/relaton/easc.rb +35 -0
  87. data/lib/relaton/ecma/bibliography.rb +93 -25
  88. data/lib/relaton/ecma/data_fetcher.rb +71 -12
  89. data/lib/relaton/ecma/docidentifier.rb +124 -0
  90. data/lib/relaton/ecma/item.rb +2 -0
  91. data/lib/relaton/ecma/memento_parser.rb +1 -1
  92. data/lib/relaton/ecma/page_fetcher.rb +15 -3
  93. data/lib/relaton/ecma/parser_common.rb +2 -2
  94. data/lib/relaton/ecma/processor.rb +4 -1
  95. data/lib/relaton/ecma/standard_parser.rb +2 -2
  96. data/lib/relaton/ecma.rb +10 -1
  97. data/lib/relaton/etsi/bibliography.rb +67 -2
  98. data/lib/relaton/etsi/data_fetcher.rb +43 -4
  99. data/lib/relaton/etsi/processor.rb +3 -1
  100. data/lib/relaton/etsi.rb +2 -1
  101. data/lib/relaton/gb/bibliography.rb +55 -29
  102. data/lib/relaton/gb/docidentifier.rb +58 -9
  103. data/lib/relaton/gb/processor.rb +3 -0
  104. data/lib/relaton/gb/scraper.rb +27 -10
  105. data/lib/relaton/gost/bibdata.rb +8 -0
  106. data/lib/relaton/gost/bibitem.rb +8 -0
  107. data/lib/relaton/gost/bibliography.rb +107 -0
  108. data/lib/relaton/gost/docidentifier.rb +80 -0
  109. data/lib/relaton/gost/doctype.rb +16 -0
  110. data/lib/relaton/gost/ext.rb +46 -0
  111. data/lib/relaton/gost/item.rb +15 -0
  112. data/lib/relaton/gost/item_base.rb +18 -0
  113. data/lib/relaton/gost/item_data.rb +6 -0
  114. data/lib/relaton/gost/processor.rb +49 -0
  115. data/lib/relaton/gost/util.rb +8 -0
  116. data/lib/relaton/gost.rb +36 -0
  117. data/lib/relaton/iala/bibdata.rb +8 -0
  118. data/lib/relaton/iala/bibitem.rb +8 -0
  119. data/lib/relaton/iala/bibliography.rb +146 -0
  120. data/lib/relaton/iala/docidentifier.rb +89 -0
  121. data/lib/relaton/iala/doctype.rb +18 -0
  122. data/lib/relaton/iala/ext.rb +32 -0
  123. data/lib/relaton/iala/item.rb +21 -0
  124. data/lib/relaton/iala/item_base.rb +18 -0
  125. data/lib/relaton/iala/item_data.rb +6 -0
  126. data/lib/relaton/iala/processor.rb +43 -0
  127. data/lib/relaton/iala/relation.rb +7 -0
  128. data/lib/relaton/iala/util.rb +8 -0
  129. data/lib/relaton/iala.rb +35 -0
  130. data/lib/relaton/iana/bibliography.rb +67 -14
  131. data/lib/relaton/iana/data_fetcher.rb +35 -5
  132. data/lib/relaton/iana/processor.rb +3 -1
  133. data/lib/relaton/iana.rb +12 -1
  134. data/lib/relaton/iec/data_fetcher.rb +7 -1
  135. data/lib/relaton/iec/hit_collection.rb +1 -1
  136. data/lib/relaton/iec/model/docidentifier.rb +9 -5
  137. data/lib/relaton/iec/model/ext.rb +2 -2
  138. data/lib/relaton/iec/processor.rb +1 -0
  139. data/lib/relaton/ieee/bibliography.rb +25 -3
  140. data/lib/relaton/ieee/data_fetcher.rb +158 -17
  141. data/lib/relaton/ieee/idams_parser.rb +18 -11
  142. data/lib/relaton/ieee/processor.rb +4 -1
  143. data/lib/relaton/ieee/rawbib_id_parser.rb +291 -86
  144. data/lib/relaton/ieee.rb +2 -1
  145. data/lib/relaton/ietf/data_fetcher.rb +295 -12
  146. data/lib/relaton/ietf/processor.rb +7 -3
  147. data/lib/relaton/ietf/rfc/entry.rb +39 -3
  148. data/lib/relaton/ietf/scraper.rb +69 -36
  149. data/lib/relaton/ietf.rb +4 -1
  150. data/lib/relaton/iho/bibliography.rb +1 -1
  151. data/lib/relaton/iho/docidentifier.rb +1 -1
  152. data/lib/relaton/index/file_io.rb +11 -11
  153. data/lib/relaton/index/file_storage.rb +6 -1
  154. data/lib/relaton/index/pool.rb +6 -1
  155. data/lib/relaton/index/shard_source.rb +201 -0
  156. data/lib/relaton/index/type.rb +63 -12
  157. data/lib/relaton/index.rb +2 -1
  158. data/lib/relaton/iso/bibliography.rb +20 -15
  159. data/lib/relaton/iso/data_fetcher.rb +3 -3
  160. data/lib/relaton/iso/data_parser.rb +17 -3
  161. data/lib/relaton/iso/hit_collection.rb +27 -15
  162. data/lib/relaton/iso/item_data.rb +22 -0
  163. data/lib/relaton/iso/model/docidentifier.rb +24 -12
  164. data/lib/relaton/iso/processor.rb +1 -0
  165. data/lib/relaton/iso/scraper.rb +19 -3
  166. data/lib/relaton/itu/bibliography.rb +9 -4
  167. data/lib/relaton/itu/data_crawler_r.rb +664 -0
  168. data/lib/relaton/itu/data_fetcher.rb +496 -50
  169. data/lib/relaton/itu/data_merge_r.rb +149 -0
  170. data/lib/relaton/itu/data_parser_r.rb +163 -89
  171. data/lib/relaton/itu/data_parser_t.rb +228 -0
  172. data/lib/relaton/itu/family_cache.rb +177 -0
  173. data/lib/relaton/itu/governor.rb +56 -0
  174. data/lib/relaton/itu/hit.rb +9 -3
  175. data/lib/relaton/itu/hit_collection.rb +258 -86
  176. data/lib/relaton/itu/model/docidentifier.rb +67 -1
  177. data/lib/relaton/itu/model/structured_identifier.rb +19 -0
  178. data/lib/relaton/itu/processor.rb +10 -4
  179. data/lib/relaton/itu/pubid.rb +27 -5
  180. data/lib/relaton/itu/recommendation_fields.rb +334 -0
  181. data/lib/relaton/itu/recommendation_parser.rb +18 -149
  182. data/lib/relaton/itu/scraper.rb +13 -3
  183. data/lib/relaton/itu.rb +2 -1
  184. data/lib/relaton/jcgm/bibdata.rb +8 -0
  185. data/lib/relaton/jcgm/bibitem.rb +8 -0
  186. data/lib/relaton/jcgm/bibliography.rb +97 -0
  187. data/lib/relaton/jcgm/data_fetcher.rb +81 -0
  188. data/lib/relaton/jcgm/docidentifier.rb +102 -0
  189. data/lib/relaton/jcgm/doctype.rb +12 -0
  190. data/lib/relaton/jcgm/ext.rb +23 -0
  191. data/lib/relaton/jcgm/item.rb +20 -0
  192. data/lib/relaton/jcgm/item_base.rb +18 -0
  193. data/lib/relaton/jcgm/item_data.rb +6 -0
  194. data/lib/relaton/jcgm/meetings_parser.rb +175 -0
  195. data/lib/relaton/jcgm/processor.rb +71 -0
  196. data/lib/relaton/jcgm/relation.rb +9 -0
  197. data/lib/relaton/jcgm/structured_identifier.rb +40 -0
  198. data/lib/relaton/jcgm/util.rb +8 -0
  199. data/lib/relaton/jcgm.rb +24 -0
  200. data/lib/relaton/jis/bibliography.rb +8 -10
  201. data/lib/relaton/jis/data_fetcher.rb +21 -19
  202. data/lib/relaton/jis/docidentifier.rb +104 -5
  203. data/lib/relaton/jis/hit.rb +18 -23
  204. data/lib/relaton/jis/hit_collection.rb +19 -18
  205. data/lib/relaton/jis/processor.rb +1 -1
  206. data/lib/relaton/jis.rb +2 -3
  207. data/lib/relaton/logger/channels/gh_issue.rb +78 -13
  208. data/lib/relaton/nist/data_fetcher.rb +63 -13
  209. data/lib/relaton/nist/docidentifier.rb +165 -0
  210. data/lib/relaton/nist/item.rb +2 -0
  211. data/lib/relaton/nist/item_base.rb +16 -0
  212. data/lib/relaton/nist/mods_parser.rb +38 -12
  213. data/lib/relaton/nist/processor.rb +2 -1
  214. data/lib/relaton/nist/relation.rb +3 -0
  215. data/lib/relaton/nist/scraper.rb +6 -3
  216. data/lib/relaton/oasis/bibliography.rb +147 -6
  217. data/lib/relaton/oasis/data_fetcher.rb +41 -5
  218. data/lib/relaton/oasis/data_parser_utils.rb +37 -3
  219. data/lib/relaton/oasis/docidentifier.rb +54 -0
  220. data/lib/relaton/oasis/item.rb +3 -0
  221. data/lib/relaton/oasis/processor.rb +7 -1
  222. data/lib/relaton/oasis.rb +14 -1
  223. data/lib/relaton/ogc/data_fetcher.rb +23 -2
  224. data/lib/relaton/ogc/docidentifier.rb +105 -0
  225. data/lib/relaton/ogc/hit_collection.rb +78 -3
  226. data/lib/relaton/ogc/processor.rb +2 -1
  227. data/lib/relaton/ogc.rb +5 -1
  228. data/lib/relaton/oiml/bibliography.rb +90 -15
  229. data/lib/relaton/oiml/docidentifier.rb +18 -3
  230. data/lib/relaton/omg/docidentifier.rb +67 -0
  231. data/lib/relaton/omg/item.rb +1 -0
  232. data/lib/relaton/omg/processor.rb +1 -0
  233. data/lib/relaton/omg/scraper.rb +61 -16
  234. data/lib/relaton/omg.rb +1 -0
  235. data/lib/relaton/plateau/bibliography.rb +10 -3
  236. data/lib/relaton/plateau/data_fetcher.rb +25 -2
  237. data/lib/relaton/plateau/handbook_parser.rb +8 -1
  238. data/lib/relaton/plateau/hit.rb +10 -2
  239. data/lib/relaton/plateau/hit_collection.rb +31 -11
  240. data/lib/relaton/plateau/processor.rb +3 -1
  241. data/lib/relaton/plateau/technical_report_parser.rb +8 -1
  242. data/lib/relaton/plateau.rb +2 -1
  243. data/lib/relaton/sdo/config.rb +34 -0
  244. data/lib/relaton/sdo/fetcher.rb +52 -0
  245. data/lib/relaton/sdo/logo.rb +95 -0
  246. data/lib/relaton/sdo/name.rb +26 -0
  247. data/lib/relaton/sdo/organization.rb +71 -0
  248. data/lib/relaton/sdo/store.rb +49 -0
  249. data/lib/relaton/sdo.rb +29 -0
  250. data/lib/relaton/version.rb +1 -1
  251. data/lib/relaton/w3c/bibliography.rb +132 -12
  252. data/lib/relaton/w3c/data_fetcher.rb +194 -16
  253. data/lib/relaton/w3c/data_parser.rb +3 -3
  254. data/lib/relaton/w3c/docidentifier.rb +48 -0
  255. data/lib/relaton/w3c/governor.rb +32 -0
  256. data/lib/relaton/w3c/item.rb +3 -0
  257. data/lib/relaton/w3c/pubid.rb +12 -0
  258. data/lib/relaton/w3c/safe_realize.rb +110 -21
  259. data/lib/relaton/w3c.rb +12 -1
  260. data/lib/relaton/xsf/bibliography.rb +61 -1
  261. data/lib/relaton/xsf/data_fetcher.rb +55 -5
  262. data/lib/relaton/xsf/docidentifier.rb +46 -0
  263. data/lib/relaton/xsf/hit_collection.rb +31 -3
  264. data/lib/relaton/xsf/item.rb +6 -0
  265. data/lib/relaton/xsf/processor.rb +1 -0
  266. data/lib/relaton/xsf.rb +5 -1
  267. data/lib/relaton.rb +42 -0
  268. metadata +135 -24
  269. data/lib/relaton/ieee/pub_id.rb +0 -161
  270. data/lib/relaton/index/id_number.rb +0 -30
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaton
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.0.pre.alpha.1
4
+ version: 3.0.0.pre.alpha.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ribose Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-07-07 00:00:00.000000000 Z
11
+ date: 2026-09-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -234,6 +234,20 @@ dependencies:
234
234
  - - "~>"
235
235
  - !ruby/object:Gem::Version
236
236
  version: 0.1.6
237
+ - !ruby/object:Gem::Dependency
238
+ name: json
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - "<"
242
+ - !ruby/object:Gem::Version
243
+ version: '3'
244
+ type: :runtime
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - "<"
249
+ - !ruby/object:Gem::Version
250
+ version: '3'
237
251
  - !ruby/object:Gem::Dependency
238
252
  name: loc_mods
239
253
  requirement: !ruby/object:Gem::Requirement
@@ -262,6 +276,26 @@ dependencies:
262
276
  - - "~>"
263
277
  - !ruby/object:Gem::Version
264
278
  version: '1.6'
279
+ - !ruby/object:Gem::Dependency
280
+ name: lutaml-hal
281
+ requirement: !ruby/object:Gem::Requirement
282
+ requirements:
283
+ - - "~>"
284
+ - !ruby/object:Gem::Version
285
+ version: '0.2'
286
+ - - ">="
287
+ - !ruby/object:Gem::Version
288
+ version: 0.2.5
289
+ type: :runtime
290
+ prerelease: false
291
+ version_requirements: !ruby/object:Gem::Requirement
292
+ requirements:
293
+ - - "~>"
294
+ - !ruby/object:Gem::Version
295
+ version: '0.2'
296
+ - - ">="
297
+ - !ruby/object:Gem::Version
298
+ version: 0.2.5
265
299
  - !ruby/object:Gem::Dependency
266
300
  name: lutaml-model
267
301
  requirement: !ruby/object:Gem::Requirement
@@ -332,20 +366,6 @@ dependencies:
332
366
  - - ">="
333
367
  - !ruby/object:Gem::Version
334
368
  version: '1.16'
335
- - !ruby/object:Gem::Dependency
336
- name: openssl
337
- requirement: !ruby/object:Gem::Requirement
338
- requirements:
339
- - - "~>"
340
- - !ruby/object:Gem::Version
341
- version: 3.3.2
342
- type: :runtime
343
- prerelease: false
344
- version_requirements: !ruby/object:Gem::Requirement
345
- requirements:
346
- - - "~>"
347
- - !ruby/object:Gem::Version
348
- version: 3.3.2
349
369
  - !ruby/object:Gem::Dependency
350
370
  name: parallel
351
371
  requirement: !ruby/object:Gem::Requirement
@@ -394,14 +414,14 @@ dependencies:
394
414
  requirements:
395
415
  - - "~>"
396
416
  - !ruby/object:Gem::Version
397
- version: 2.0.0.pre.alpha.5
417
+ version: 2.0.0.pre.alpha.11
398
418
  type: :runtime
399
419
  prerelease: false
400
420
  version_requirements: !ruby/object:Gem::Requirement
401
421
  requirements:
402
422
  - - "~>"
403
423
  - !ruby/object:Gem::Version
404
- version: 2.0.0.pre.alpha.5
424
+ version: 2.0.0.pre.alpha.11
405
425
  - !ruby/object:Gem::Dependency
406
426
  name: rfcxml
407
427
  requirement: !ruby/object:Gem::Requirement
@@ -422,28 +442,28 @@ dependencies:
422
442
  requirements:
423
443
  - - "~>"
424
444
  - !ruby/object:Gem::Version
425
- version: 2.3.0
445
+ version: '3.4'
426
446
  type: :runtime
427
447
  prerelease: false
428
448
  version_requirements: !ruby/object:Gem::Requirement
429
449
  requirements:
430
450
  - - "~>"
431
451
  - !ruby/object:Gem::Version
432
- version: 2.3.0
452
+ version: '3.4'
433
453
  - !ruby/object:Gem::Dependency
434
454
  name: w3c_api
435
455
  requirement: !ruby/object:Gem::Requirement
436
456
  requirements:
437
457
  - - "~>"
438
458
  - !ruby/object:Gem::Version
439
- version: 0.3.2
459
+ version: 0.3.3
440
460
  type: :runtime
441
461
  prerelease: false
442
462
  version_requirements: !ruby/object:Gem::Requirement
443
463
  requirements:
444
464
  - - "~>"
445
465
  - !ruby/object:Gem::Version
446
- version: 0.3.2
466
+ version: 0.3.3
447
467
  description: |
448
468
  Relaton is the database, registry, and cache for bibliographic references
449
469
  to technical standards in the Relaton/XML bibliographic model. It provides
@@ -471,6 +491,7 @@ files:
471
491
  - lib/relaton/3gpp/bibitem.rb
472
492
  - lib/relaton/3gpp/bibliography.rb
473
493
  - lib/relaton/3gpp/data_fetcher.rb
494
+ - lib/relaton/3gpp/docidentifier.rb
474
495
  - lib/relaton/3gpp/doctype.rb
475
496
  - lib/relaton/3gpp/ext.rb
476
497
  - lib/relaton/3gpp/item.rb
@@ -479,6 +500,18 @@ files:
479
500
  - lib/relaton/3gpp/processor.rb
480
501
  - lib/relaton/3gpp/release.rb
481
502
  - lib/relaton/3gpp/util.rb
503
+ - lib/relaton/adobe.rb
504
+ - lib/relaton/adobe/bibdata.rb
505
+ - lib/relaton/adobe/bibitem.rb
506
+ - lib/relaton/adobe/bibliography.rb
507
+ - lib/relaton/adobe/docidentifier.rb
508
+ - lib/relaton/adobe/doctype.rb
509
+ - lib/relaton/adobe/ext.rb
510
+ - lib/relaton/adobe/item.rb
511
+ - lib/relaton/adobe/item_base.rb
512
+ - lib/relaton/adobe/item_data.rb
513
+ - lib/relaton/adobe/processor.rb
514
+ - lib/relaton/adobe/util.rb
482
515
  - lib/relaton/bib.rb
483
516
  - lib/relaton/bib/converter/asciibib.rb
484
517
  - lib/relaton/bib/converter/asciibib/to_asciibib.rb
@@ -589,6 +622,7 @@ files:
589
622
  - lib/relaton/calconnect.rb
590
623
  - lib/relaton/calconnect/bibliography.rb
591
624
  - lib/relaton/calconnect/data_fetcher.rb
625
+ - lib/relaton/calconnect/docidentifier.rb
592
626
  - lib/relaton/calconnect/hit.rb
593
627
  - lib/relaton/calconnect/hit_collection.rb
594
628
  - lib/relaton/calconnect/item_data.rb
@@ -610,6 +644,7 @@ files:
610
644
  - lib/relaton/ccsds/item_data.rb
611
645
  - lib/relaton/ccsds/model/bibdata.rb
612
646
  - lib/relaton/ccsds/model/bibitem.rb
647
+ - lib/relaton/ccsds/model/docidentifier.rb
613
648
  - lib/relaton/ccsds/model/doctype.rb
614
649
  - lib/relaton/ccsds/model/ext.rb
615
650
  - lib/relaton/ccsds/model/item.rb
@@ -645,10 +680,13 @@ files:
645
680
  - lib/relaton/core/array_wrapper.rb
646
681
  - lib/relaton/core/data_fetcher.rb
647
682
  - lib/relaton/core/date_parser.rb
683
+ - lib/relaton/core/governor.rb
648
684
  - lib/relaton/core/hash_keys_sybolizer.rb
649
685
  - lib/relaton/core/hit.rb
650
686
  - lib/relaton/core/hit_collection.rb
687
+ - lib/relaton/core/pacer.rb
651
688
  - lib/relaton/core/processor.rb
689
+ - lib/relaton/core/request_error.rb
652
690
  - lib/relaton/core/workers_pool.rb
653
691
  - lib/relaton/db.rb
654
692
  - lib/relaton/db/cache.rb
@@ -661,12 +699,25 @@ files:
661
699
  - lib/relaton/doi/parser.rb
662
700
  - lib/relaton/doi/processor.rb
663
701
  - lib/relaton/doi/util.rb
702
+ - lib/relaton/easc.rb
703
+ - lib/relaton/easc/bibdata.rb
704
+ - lib/relaton/easc/bibitem.rb
705
+ - lib/relaton/easc/bibliography.rb
706
+ - lib/relaton/easc/docidentifier.rb
707
+ - lib/relaton/easc/doctype.rb
708
+ - lib/relaton/easc/ext.rb
709
+ - lib/relaton/easc/item.rb
710
+ - lib/relaton/easc/item_base.rb
711
+ - lib/relaton/easc/item_data.rb
712
+ - lib/relaton/easc/processor.rb
713
+ - lib/relaton/easc/util.rb
664
714
  - lib/relaton/ecma.rb
665
715
  - lib/relaton/ecma/bibdata.rb
666
716
  - lib/relaton/ecma/bibitem.rb
667
717
  - lib/relaton/ecma/bibliography.rb
668
718
  - lib/relaton/ecma/data_fetcher.rb
669
719
  - lib/relaton/ecma/data_parser.rb
720
+ - lib/relaton/ecma/docidentifier.rb
670
721
  - lib/relaton/ecma/edition_parser.rb
671
722
  - lib/relaton/ecma/ext.rb
672
723
  - lib/relaton/ecma/item.rb
@@ -715,6 +766,31 @@ files:
715
766
  - lib/relaton/gb/t_scraper.rb
716
767
  - lib/relaton/gb/util.rb
717
768
  - lib/relaton/gb/yaml/prefixes.yaml
769
+ - lib/relaton/gost.rb
770
+ - lib/relaton/gost/bibdata.rb
771
+ - lib/relaton/gost/bibitem.rb
772
+ - lib/relaton/gost/bibliography.rb
773
+ - lib/relaton/gost/docidentifier.rb
774
+ - lib/relaton/gost/doctype.rb
775
+ - lib/relaton/gost/ext.rb
776
+ - lib/relaton/gost/item.rb
777
+ - lib/relaton/gost/item_base.rb
778
+ - lib/relaton/gost/item_data.rb
779
+ - lib/relaton/gost/processor.rb
780
+ - lib/relaton/gost/util.rb
781
+ - lib/relaton/iala.rb
782
+ - lib/relaton/iala/bibdata.rb
783
+ - lib/relaton/iala/bibitem.rb
784
+ - lib/relaton/iala/bibliography.rb
785
+ - lib/relaton/iala/docidentifier.rb
786
+ - lib/relaton/iala/doctype.rb
787
+ - lib/relaton/iala/ext.rb
788
+ - lib/relaton/iala/item.rb
789
+ - lib/relaton/iala/item_base.rb
790
+ - lib/relaton/iala/item_data.rb
791
+ - lib/relaton/iala/processor.rb
792
+ - lib/relaton/iala/relation.rb
793
+ - lib/relaton/iala/util.rb
718
794
  - lib/relaton/iana.rb
719
795
  - lib/relaton/iana/bibdata.rb
720
796
  - lib/relaton/iana/bibitem.rb
@@ -760,7 +836,6 @@ files:
760
836
  - lib/relaton/ieee/item.rb
761
837
  - lib/relaton/ieee/item_data.rb
762
838
  - lib/relaton/ieee/processor.rb
763
- - lib/relaton/ieee/pub_id.rb
764
839
  - lib/relaton/ieee/rawbib_id_parser.rb
765
840
  - lib/relaton/ieee/util.rb
766
841
  - lib/relaton/ietf.rb
@@ -809,8 +884,8 @@ files:
809
884
  - lib/relaton/index/config.rb
810
885
  - lib/relaton/index/file_io.rb
811
886
  - lib/relaton/index/file_storage.rb
812
- - lib/relaton/index/id_number.rb
813
887
  - lib/relaton/index/pool.rb
888
+ - lib/relaton/index/shard_source.rb
814
889
  - lib/relaton/index/type.rb
815
890
  - lib/relaton/index/util.rb
816
891
  - lib/relaton/isbn.rb
@@ -847,8 +922,13 @@ files:
847
922
  - lib/relaton/iso/util.rb
848
923
  - lib/relaton/itu.rb
849
924
  - lib/relaton/itu/bibliography.rb
925
+ - lib/relaton/itu/data_crawler_r.rb
850
926
  - lib/relaton/itu/data_fetcher.rb
927
+ - lib/relaton/itu/data_merge_r.rb
851
928
  - lib/relaton/itu/data_parser_r.rb
929
+ - lib/relaton/itu/data_parser_t.rb
930
+ - lib/relaton/itu/family_cache.rb
931
+ - lib/relaton/itu/governor.rb
852
932
  - lib/relaton/itu/hit.rb
853
933
  - lib/relaton/itu/hit_collection.rb
854
934
  - lib/relaton/itu/item_data.rb
@@ -867,9 +947,26 @@ files:
867
947
  - lib/relaton/itu/processor.rb
868
948
  - lib/relaton/itu/pubid.rb
869
949
  - lib/relaton/itu/radio_regulations_parser.rb
950
+ - lib/relaton/itu/recommendation_fields.rb
870
951
  - lib/relaton/itu/recommendation_parser.rb
871
952
  - lib/relaton/itu/scraper.rb
872
953
  - lib/relaton/itu/util.rb
954
+ - lib/relaton/jcgm.rb
955
+ - lib/relaton/jcgm/bibdata.rb
956
+ - lib/relaton/jcgm/bibitem.rb
957
+ - lib/relaton/jcgm/bibliography.rb
958
+ - lib/relaton/jcgm/data_fetcher.rb
959
+ - lib/relaton/jcgm/docidentifier.rb
960
+ - lib/relaton/jcgm/doctype.rb
961
+ - lib/relaton/jcgm/ext.rb
962
+ - lib/relaton/jcgm/item.rb
963
+ - lib/relaton/jcgm/item_base.rb
964
+ - lib/relaton/jcgm/item_data.rb
965
+ - lib/relaton/jcgm/meetings_parser.rb
966
+ - lib/relaton/jcgm/processor.rb
967
+ - lib/relaton/jcgm/relation.rb
968
+ - lib/relaton/jcgm/structured_identifier.rb
969
+ - lib/relaton/jcgm/util.rb
873
970
  - lib/relaton/jis.rb
874
971
  - lib/relaton/jis/bibdata.rb
875
972
  - lib/relaton/jis/bibitem.rb
@@ -903,11 +1000,13 @@ files:
903
1000
  - lib/relaton/nist/comment_period.rb
904
1001
  - lib/relaton/nist/data_fetcher.rb
905
1002
  - lib/relaton/nist/date.rb
1003
+ - lib/relaton/nist/docidentifier.rb
906
1004
  - lib/relaton/nist/doctype.rb
907
1005
  - lib/relaton/nist/ext.rb
908
1006
  - lib/relaton/nist/hit.rb
909
1007
  - lib/relaton/nist/hit_collection.rb
910
1008
  - lib/relaton/nist/item.rb
1009
+ - lib/relaton/nist/item_base.rb
911
1010
  - lib/relaton/nist/item_data.rb
912
1011
  - lib/relaton/nist/mods_parser.rb
913
1012
  - lib/relaton/nist/processor.rb
@@ -925,6 +1024,7 @@ files:
925
1024
  - lib/relaton/oasis/data_parser.rb
926
1025
  - lib/relaton/oasis/data_parser_utils.rb
927
1026
  - lib/relaton/oasis/data_part_parser.rb
1027
+ - lib/relaton/oasis/docidentifier.rb
928
1028
  - lib/relaton/oasis/doctype.rb
929
1029
  - lib/relaton/oasis/ext.rb
930
1030
  - lib/relaton/oasis/item.rb
@@ -963,6 +1063,7 @@ files:
963
1063
  - lib/relaton/omg/bibdata.rb
964
1064
  - lib/relaton/omg/bibitem.rb
965
1065
  - lib/relaton/omg/bibliography.rb
1066
+ - lib/relaton/omg/docidentifier.rb
966
1067
  - lib/relaton/omg/ext.rb
967
1068
  - lib/relaton/omg/item.rb
968
1069
  - lib/relaton/omg/item_data.rb
@@ -985,6 +1086,13 @@ files:
985
1086
  - lib/relaton/plateau/processor.rb
986
1087
  - lib/relaton/plateau/technical_report_parser.rb
987
1088
  - lib/relaton/plateau/util.rb
1089
+ - lib/relaton/sdo.rb
1090
+ - lib/relaton/sdo/config.rb
1091
+ - lib/relaton/sdo/fetcher.rb
1092
+ - lib/relaton/sdo/logo.rb
1093
+ - lib/relaton/sdo/name.rb
1094
+ - lib/relaton/sdo/organization.rb
1095
+ - lib/relaton/sdo/store.rb
988
1096
  - lib/relaton/un.rb
989
1097
  - lib/relaton/un/bibdata.rb
990
1098
  - lib/relaton/un/bibitem.rb
@@ -1014,8 +1122,10 @@ files:
1014
1122
  - lib/relaton/w3c/bibliography.rb
1015
1123
  - lib/relaton/w3c/data_fetcher.rb
1016
1124
  - lib/relaton/w3c/data_parser.rb
1125
+ - lib/relaton/w3c/docidentifier.rb
1017
1126
  - lib/relaton/w3c/doctype.rb
1018
1127
  - lib/relaton/w3c/ext.rb
1128
+ - lib/relaton/w3c/governor.rb
1019
1129
  - lib/relaton/w3c/item.rb
1020
1130
  - lib/relaton/w3c/item_data.rb
1021
1131
  - lib/relaton/w3c/processor.rb
@@ -1027,6 +1137,7 @@ files:
1027
1137
  - lib/relaton/xsf/bibitem.rb
1028
1138
  - lib/relaton/xsf/bibliography.rb
1029
1139
  - lib/relaton/xsf/data_fetcher.rb
1140
+ - lib/relaton/xsf/docidentifier.rb
1030
1141
  - lib/relaton/xsf/hit.rb
1031
1142
  - lib/relaton/xsf/hit_collection.rb
1032
1143
  - lib/relaton/xsf/item.rb
@@ -1,161 +0,0 @@
1
- module Relaton
2
- module Ieee
3
- class PubId
4
- class Id
5
- # @return [String]
6
- attr_reader :number
7
-
8
- # @return [String, nil]
9
- attr_reader :publisher, :std, :stage, :part, :status, :approval, :edition,
10
- :draft, :rev, :corr, :amd, :redline, :year, :month
11
-
12
- #
13
- # PubId constructor
14
- #
15
- # @param [String] number
16
- # @param [<Hash>] **args
17
- # @option args [String] :number
18
- # @option args [String] :publisher
19
- # @option args [Boolean] :std
20
- # @option args [String] :stage
21
- # @option args [String] :part
22
- # @option args [String] :status
23
- # @option args [String] :approval
24
- # @option args [String] :edition
25
- # @option args [String] :draft
26
- # @option args [String] :rev
27
- # @option args [String] :corr
28
- # @option args [String] :amd
29
- # @option args [Boolean] :redline
30
- # @option args [String] :year
31
- # @option args [String] :month
32
- #
33
- def initialize(number:, **args) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
34
- @publisher = args[:publisher]
35
- @std = args[:std]
36
- @stage = args[:stage]
37
- @number = number
38
- @part = args[:part]
39
- @status = args[:status]
40
- @approval = args[:approval]
41
- @edition = args[:edition]
42
- @draft = args[:draft]
43
- @rev = args[:rev]
44
- @corr = args[:corr]
45
- @amd = args[:amd]
46
- @year = args[:year]
47
- @month = args[:month]
48
- @redline = args[:redline]
49
- end
50
-
51
- #
52
- # PubId string representation
53
- #
54
- # @param [Boolean] trademark if true, add trademark symbol
55
- #
56
- # @return [String]
57
- #
58
- def to_s(trademark: false) # rubocop:disable Metrics/AbcSize, Metrics/MethodLength, Metrics/CyclomaticComplexity, Metrics/PerceivedComplexity
59
- out = number
60
- out = "Std #{out}" if std
61
- out = "#{stage} #{out}" if stage
62
- out = "#{approval} #{out}" if approval
63
- out = "#{status} #{out}" if status
64
- out = "#{publisher} #{out}" if publisher
65
- out += ".#{part}" if part
66
- if trademark
67
- out += out.match?(/^IEEE\s(Std\s)?(802|2030)/) ? "\u00AE" : "\u2122"
68
- end
69
- out += edition_to_s + draft_to_s + rev_to_s + corr_to_s + amd_to_s
70
- out + year_to_s + month_to_s + redline_to_s
71
- end
72
-
73
- def edition_to_s
74
- edition ? "/E-#{edition}" : ""
75
- end
76
-
77
- def draft_to_s
78
- draft ? "/D-#{draft}" : ""
79
- end
80
-
81
- def rev_to_s
82
- rev ? "/R-#{rev}" : ""
83
- end
84
-
85
- def corr_to_s
86
- corr ? "/Cor#{corr}" : ""
87
- end
88
-
89
- def amd_to_s
90
- amd ? "/Amd#{amd}" : ""
91
- end
92
-
93
- def year_to_s
94
- year ? "-#{year}" : ""
95
- end
96
-
97
- def month_to_s
98
- month ? "-#{month}" : ""
99
- end
100
-
101
- def redline_to_s
102
- redline ? " Redline" : ""
103
- end
104
- end
105
-
106
- # @return [Array<RelatonIeee::PubId::Id>]
107
- attr_reader :pubid
108
-
109
- #
110
- # IEEE publication id
111
- #
112
- # @param [Array<Hash>, Hash] pubid
113
- #
114
- def initialize(pubid)
115
- @pubid = array(pubid).map { |id| Id.new(**id) }
116
- end
117
-
118
- #
119
- # Convert to array
120
- #
121
- # @param [Array<Hash>, Hash] pid
122
- #
123
- # @return [Array<Hash>]
124
- #
125
- def array(pid)
126
- pid.is_a?(Array) ? pid : [pid]
127
- end
128
-
129
- #
130
- # PubId string representation
131
- #
132
- # @param [Boolean] trademark if true, add trademark symbol
133
- #
134
- # @return [String]
135
- #
136
- def to_s(trademark: false)
137
- pubid.map { |id| id.to_s(trademark: trademark) }.join("/")
138
- end
139
-
140
- #
141
- # Generate ID without publisher and second number
142
- #
143
- # @return [String]
144
- #
145
- def to_id # rubocop:disable Metrics/MethodLength,Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/PerceivedComplexity
146
- out = pubid[0].to_s
147
- if pubid.size > 1
148
- out += pubid[1].edition_to_s if pubid[0].edition.nil?
149
- out += pubid[1].draft_to_s if pubid[0].draft.nil?
150
- out += pubid[1].rev_to_s if pubid[0].rev.nil?
151
- out += pubid[1].corr_to_s if pubid[0].corr.nil?
152
- out += pubid[1].amd_to_s if pubid[0].amd.nil?
153
- out += pubid[1].year_to_s if pubid[0].year.nil?
154
- out += pubid[1].month_to_s if pubid[0].month.nil?
155
- out += pubid[1].redline_to_s unless pubid[0].redline
156
- end
157
- out
158
- end
159
- end
160
- end
161
- end
@@ -1,30 +0,0 @@
1
- module Relaton
2
- module Index
3
- # Shared narrowing/sort key for structured (pubid) index ids. Type uses it
4
- # for binary-search narrowing; FileIO uses it to sort the index and detect
5
- # sortedness. The two MUST agree, so the rule lives in one place.
6
- module IdNumber
7
- # One-level narrowing key: a supplement/amendment is filed under its
8
- # immediate parent's number, everything else under its own number.
9
- #
10
- # Pubid 2.x exposes the parent via `.base_identifier` (the LutaML
11
- # `Pubid::Iso::Identifiers::*` classes that relaton loads at runtime). A
12
- # standalone `require "pubid-iso"` can instead surface the legacy
13
- # `Pubid::Iso::Identifier::*` classes, which use `.base`; we accept either
14
- # so the key is stable in both load orders. The wrong accessor silently
15
- # falls through to the row's own number and breaks bsearch narrowing.
16
- def get_id_number(id)
17
- base = id_base(id)
18
- ((base && base.number) || id.number).to_s
19
- end
20
-
21
- def id_base(id)
22
- if id.respond_to?(:base_identifier) && id.base_identifier
23
- id.base_identifier
24
- elsif id.respond_to?(:base) && id.base
25
- id.base
26
- end
27
- end
28
- end
29
- end
30
- end