relaton 3.0.0 → 3.0.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 (73) hide show
  1. checksums.yaml +4 -4
  2. data/lib/relaton/3gpp/CLAUDE.md +31 -0
  3. data/lib/relaton/3gpp/bibliography.rb +1 -1
  4. data/lib/relaton/3gpp/data_fetcher.rb +32 -9
  5. data/lib/relaton/3gpp/date.rb +13 -0
  6. data/lib/relaton/3gpp/item.rb +3 -0
  7. data/lib/relaton/3gpp/parser.rb +9 -6
  8. data/lib/relaton/bib/converter/csl.rb +3 -2
  9. data/lib/relaton/bib/model/docidentifier.rb +61 -0
  10. data/lib/relaton/bib/model/item_shared.rb +12 -1
  11. data/lib/relaton/bib.rb +2 -1
  12. data/lib/relaton/bipm/CLAUDE.md +14 -0
  13. data/lib/relaton/bsi/model/docidentifier.rb +0 -4
  14. data/lib/relaton/calconnect/data_fetcher.rb +11 -3
  15. data/lib/relaton/ccsds/data/fetcher.rb +2 -1
  16. data/lib/relaton/ccsds/model/docidentifier.rb +0 -4
  17. data/lib/relaton/cie/authors_parser.rb +78 -0
  18. data/lib/relaton/cie/data_fetcher.rb +23 -18
  19. data/lib/relaton/cie.rb +1 -0
  20. data/lib/relaton/core/data_fetcher.rb +23 -1
  21. data/lib/relaton/core.rb +7 -0
  22. data/lib/relaton/db/cache.rb +3 -3
  23. data/lib/relaton/db.rb +20 -1
  24. data/lib/relaton/doi/crossref.rb +2 -1
  25. data/lib/relaton/doi/parser.rb +3 -2
  26. data/lib/relaton/etsi/data_fetcher.rb +3 -3
  27. data/lib/relaton/gb/sec_scraper.rb +3 -3
  28. data/lib/relaton/iana/data_fetcher.rb +53 -4
  29. data/lib/relaton/iec/data_fetcher.rb +3 -2
  30. data/lib/relaton/iec/model/docidentifier.rb +0 -4
  31. data/lib/relaton/ieee/CLAUDE.md +30 -4
  32. data/lib/relaton/ieee/bibliography.rb +87 -32
  33. data/lib/relaton/ieee/data_fetcher.rb +1 -1
  34. data/lib/relaton/ieee/docidentifier.rb +37 -0
  35. data/lib/relaton/ieee/idams_parser.rb +2 -2
  36. data/lib/relaton/ieee/item.rb +3 -0
  37. data/lib/relaton/ieee/item_data.rb +7 -1
  38. data/lib/relaton/ietf/CLAUDE.md +27 -2
  39. data/lib/relaton/ietf/bibxml_parser.rb +38 -0
  40. data/lib/relaton/ietf/data_fetcher.rb +3 -30
  41. data/lib/relaton/ietf/scraper.rb +60 -3
  42. data/lib/relaton/ietf/wg_name_resolver.rb +2 -2
  43. data/lib/relaton/iho/CLAUDE.md +4 -0
  44. data/lib/relaton/iho/bibliography.rb +7 -1
  45. data/lib/relaton/index/dataset_lock.rb +4 -3
  46. data/lib/relaton/index/shard_source.rb +3 -2
  47. data/lib/relaton/index/sqlite_backend.rb +5 -3
  48. data/lib/relaton/isbn/open_library.rb +2 -1
  49. data/lib/relaton/iso/data_fetcher.rb +6 -6
  50. data/lib/relaton/iso/model/docidentifier.rb +0 -4
  51. data/lib/relaton/itu/data_fetcher.rb +2 -2
  52. data/lib/relaton/itu/hit_collection.rb +3 -3
  53. data/lib/relaton/itu/recommendation_fields.rb +2 -2
  54. data/lib/relaton/jis/data_fetcher.rb +2 -1
  55. data/lib/relaton/jis/hit_collection.rb +1 -2
  56. data/lib/relaton/jis.rb +1 -0
  57. data/lib/relaton/json.rb +21 -0
  58. data/lib/relaton/logger/channels/gh_issue.rb +3 -3
  59. data/lib/relaton/logger/formatter_json.rb +2 -1
  60. data/lib/relaton/nist/CLAUDE.md +6 -0
  61. data/lib/relaton/nist/docidentifier.rb +0 -4
  62. data/lib/relaton/nist/hit_collection.rb +1 -1
  63. data/lib/relaton/nist/pubs_export.rb +2 -1
  64. data/lib/relaton/nist.rb +1 -0
  65. data/lib/relaton/ogc/data_fetcher.rb +2 -2
  66. data/lib/relaton/omg/scraper.rb +3 -3
  67. data/lib/relaton/plateau/data_fetcher.rb +2 -1
  68. data/lib/relaton/plateau/hit_collection.rb +1 -1
  69. data/lib/relaton/plateau.rb +1 -0
  70. data/lib/relaton/un/hit_collection.rb +4 -3
  71. data/lib/relaton/version.rb +1 -1
  72. data/lib/relaton.rb +1 -0
  73. metadata +40 -24
@@ -1,7 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
+ require "yeptris"
4
+
3
5
  require "faraday"
4
- require "json"
5
6
  require "securerandom"
6
7
 
7
8
  module Relaton
@@ -28,11 +29,11 @@ module Relaton
28
29
  def search_api(text) # rubocop:disable Metrics/MethodLength
29
30
  resp = connection.post("search?l=en&rid=#{SecureRandom.uuid}") do |req|
30
31
  req.headers["Content-Type"] = "application/json"
31
- req.body = JSON.generate(search_body(text))
32
+ req.body = Yeptris::JSON.dump(search_body(text))
32
33
  end
33
34
  return unless resp.success?
34
35
 
35
- body = JSON.parse(resp.body)
36
+ body = Relaton::Json.parse_external(resp.body)
36
37
  return unless body["status"] == 1
37
38
 
38
39
  body.dig("body", "data")
@@ -1,3 +1,3 @@
1
1
  module Relaton
2
- VERSION = "3.0.0".freeze
2
+ VERSION = "3.0.2".freeze
3
3
  end
data/lib/relaton.rb CHANGED
@@ -22,6 +22,7 @@ module Relaton
22
22
  autoload :Logger, "relaton/logger"
23
23
  autoload :Equivalence, "relaton/equivalence"
24
24
  autoload :Core, "relaton/core"
25
+ autoload :Json, "relaton/json"
25
26
  autoload :Index, "relaton/index"
26
27
  autoload :Bib, "relaton/bib"
27
28
  autoload :ThreeGpp, "relaton/3gpp"
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
4
+ version: 3.0.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-10-27 00:00:00.000000000 Z
11
+ date: 2026-10-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -128,14 +128,14 @@ dependencies:
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 2.7.0
131
+ version: '2.7'
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
136
  - - "~>"
137
137
  - !ruby/object:Gem::Version
138
- version: 2.7.0
138
+ version: '2.7'
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: faraday-net_http_persistent
141
141
  requirement: !ruby/object:Gem::Requirement
@@ -248,20 +248,6 @@ dependencies:
248
248
  - - "~>"
249
249
  - !ruby/object:Gem::Version
250
250
  version: 0.1.6
251
- - !ruby/object:Gem::Dependency
252
- name: json
253
- requirement: !ruby/object:Gem::Requirement
254
- requirements:
255
- - - "<"
256
- - !ruby/object:Gem::Version
257
- version: '3'
258
- type: :runtime
259
- prerelease: false
260
- version_requirements: !ruby/object:Gem::Requirement
261
- requirements:
262
- - - "<"
263
- - !ruby/object:Gem::Version
264
- version: '3'
265
251
  - !ruby/object:Gem::Dependency
266
252
  name: loc_mods
267
253
  requirement: !ruby/object:Gem::Requirement
@@ -422,6 +408,26 @@ dependencies:
422
408
  - - "~>"
423
409
  - !ruby/object:Gem::Version
424
410
  version: '1.26'
411
+ - !ruby/object:Gem::Dependency
412
+ name: parsanol
413
+ requirement: !ruby/object:Gem::Requirement
414
+ requirements:
415
+ - - ">="
416
+ - !ruby/object:Gem::Version
417
+ version: 1.3.114
418
+ - - "<"
419
+ - !ruby/object:Gem::Version
420
+ version: '1.4'
421
+ type: :runtime
422
+ prerelease: false
423
+ version_requirements: !ruby/object:Gem::Requirement
424
+ requirements:
425
+ - - ">="
426
+ - !ruby/object:Gem::Version
427
+ version: 1.3.114
428
+ - - "<"
429
+ - !ruby/object:Gem::Version
430
+ version: '1.4'
425
431
  - !ruby/object:Gem::Dependency
426
432
  name: parslet
427
433
  requirement: !ruby/object:Gem::Requirement
@@ -440,30 +446,36 @@ dependencies:
440
446
  name: pubid
441
447
  requirement: !ruby/object:Gem::Requirement
442
448
  requirements:
443
- - - "~>"
449
+ - - ">="
450
+ - !ruby/object:Gem::Version
451
+ version: 2.0.1
452
+ - - "<"
444
453
  - !ruby/object:Gem::Version
445
- version: 2.0.0.pre.alpha.62
454
+ version: '2.1'
446
455
  type: :runtime
447
456
  prerelease: false
448
457
  version_requirements: !ruby/object:Gem::Requirement
449
458
  requirements:
450
- - - "~>"
459
+ - - ">="
460
+ - !ruby/object:Gem::Version
461
+ version: 2.0.1
462
+ - - "<"
451
463
  - !ruby/object:Gem::Version
452
- version: 2.0.0.pre.alpha.62
464
+ version: '2.1'
453
465
  - !ruby/object:Gem::Dependency
454
466
  name: yeptris
455
467
  requirement: !ruby/object:Gem::Requirement
456
468
  requirements:
457
469
  - - ">="
458
470
  - !ruby/object:Gem::Version
459
- version: '0.4'
471
+ version: 0.6.51
460
472
  type: :runtime
461
473
  prerelease: false
462
474
  version_requirements: !ruby/object:Gem::Requirement
463
475
  requirements:
464
476
  - - ">="
465
477
  - !ruby/object:Gem::Version
466
- version: '0.4'
478
+ version: 0.6.51
467
479
  - !ruby/object:Gem::Dependency
468
480
  name: relaton-render
469
481
  requirement: !ruby/object:Gem::Requirement
@@ -556,6 +568,7 @@ files:
556
568
  - lib/relaton/3gpp/bibitem.rb
557
569
  - lib/relaton/3gpp/bibliography.rb
558
570
  - lib/relaton/3gpp/data_fetcher.rb
571
+ - lib/relaton/3gpp/date.rb
559
572
  - lib/relaton/3gpp/docidentifier.rb
560
573
  - lib/relaton/3gpp/doctype.rb
561
574
  - lib/relaton/3gpp/ext.rb
@@ -749,6 +762,7 @@ files:
749
762
  - lib/relaton/cie.rb
750
763
  - lib/relaton/cie/CLAUDE.md
751
764
  - lib/relaton/cie/README.adoc
765
+ - lib/relaton/cie/authors_parser.rb
752
766
  - lib/relaton/cie/bibdata.rb
753
767
  - lib/relaton/cie/bibitem.rb
754
768
  - lib/relaton/cie/bibliography.rb
@@ -953,6 +967,7 @@ files:
953
967
  - lib/relaton/ieee/converter/bibxml/from_rfcxml.rb
954
968
  - lib/relaton/ieee/converter/bibxml/from_rfcxml_referencegroup.rb
955
969
  - lib/relaton/ieee/data_fetcher.rb
970
+ - lib/relaton/ieee/docidentifier.rb
956
971
  - lib/relaton/ieee/doctype.rb
957
972
  - lib/relaton/ieee/editorial_group.rb
958
973
  - lib/relaton/ieee/ext.rb
@@ -1126,6 +1141,7 @@ files:
1126
1141
  - lib/relaton/jis/scraper.rb
1127
1142
  - lib/relaton/jis/structured_identifier.rb
1128
1143
  - lib/relaton/jis/util.rb
1144
+ - lib/relaton/json.rb
1129
1145
  - lib/relaton/logger.rb
1130
1146
  - lib/relaton/logger/CLAUDE.md
1131
1147
  - lib/relaton/logger/README.adoc