relaton 1.17.2 → 1.18.1

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 18c8244f75e034cd05320232fae767d59e10bd6de5f2983dad701ed8ddcbef59
4
- data.tar.gz: b384e225f15c0fb4600f8bd245e6ee4a5c2820bbaf3fc865a308972e358a3fd6
3
+ metadata.gz: af8b5d7f3d6847ea4b48d9bb60dbc19c2cfb954c87e393b1dc029cb91e694c3b
4
+ data.tar.gz: 380db51f0e9dbad1f0b71f14a5ec6dca444a73f68999e7e4814cb1a1f43d3c24
5
5
  SHA512:
6
- metadata.gz: c83e2b59913fead7d8a7fee650ed739330c3f7cbccfc63eec6d9530e7ca433e3bd026f2c7a15a61735b0b2e72d4106fd7ddd6ddc9a4e3cd00be349c2c288a497
7
- data.tar.gz: 49ff93fb5f75841a9ae70dae67c437e3b04fa29977dd96cc9a6470ad5dee4183ccf99951a8aa950551b0811a08c3b03f12eb7b3bcbcd7565b039e167fe8e1a23
6
+ metadata.gz: a30902c431c0b597f6556428769715e67d1edd091316f22f9e8040884139404a69a33bccd3f8b0ce4fa743f99cc509c112eaeacafe40f7cf52c581a9d0ed53d0
7
+ data.tar.gz: 5e7f96ac654ea64dff9604c2e2a09a5460c985dd447e368cbbf2d58ff41dd3d4537d0f7925ad753999c9f5e325f702059f588b54f556474a5a94b8f05315a579
@@ -10,4 +10,4 @@ on:
10
10
 
11
11
  jobs:
12
12
  rake:
13
- uses: relaton/support/.github/workflows/rake.yml@master
13
+ uses: relaton/support/.github/workflows/rake.yml@main
@@ -17,7 +17,7 @@ on:
17
17
 
18
18
  jobs:
19
19
  release:
20
- uses: relaton/support/.github/workflows/release.yml@master
20
+ uses: relaton/support/.github/workflows/release.yml@main
21
21
  with:
22
22
  next_version: ${{ github.event.inputs.next_version }}
23
23
  secrets:
data/lib/relaton/db.rb CHANGED
@@ -447,15 +447,26 @@ module Relaton
447
447
  bib = net_retry(code, year, opts, processor, opts.fetch(:retries, 1))
448
448
 
449
449
  entry = check_entry(bib, stdclass, **args)
450
- return entry if args[:db].nil? || args[:id].nil?
450
+ return entry if args[:db].nil?
451
451
 
452
452
  @semaphore.synchronize { args[:db][args[:id]] ||= entry }
453
+ args[:no_cache] ? bib_entry(bib) : entry
453
454
  end
454
455
 
456
+ #
457
+ # If the reference isn't equal to the document identifier
458
+ # then store the document in the cache and create for the reference a redirection to the document
459
+ #
460
+ # @param [<Type>] bib <description>
461
+ # @param [<Type>] stdclass <description>
462
+ # @param [<Type>] **args <description>
463
+ #
464
+ # @return [<Type>] <description>
465
+ #
455
466
  def check_entry(bib, stdclass, **args) # rubocop:disable Metrics/AbcSize,Metrics/CyclomaticComplexity,Metrics/PerceivedComplexity
456
467
  bib_id = bib&.docidentifier&.first&.id
457
468
 
458
- # when docid doesn't match bib's id then return a reference to bib's id
469
+ # when ref isn't equal to bib's id then return a redirection to bib's id
459
470
  if args[:db] && args[:id] && bib_id && args[:id] !~ %r{#{Regexp.quote("(#{bib_id})")}}
460
471
  bid = std_id(bib.docidentifier.first.id, nil, {}, stdclass).first
461
472
  @semaphore.synchronize { args[:db][bid] ||= bib_entry bib }
@@ -1,3 +1,3 @@
1
1
  module Relaton
2
- VERSION = "1.17.2".freeze
2
+ VERSION = "1.18.1".freeze
3
3
  end
data/relaton.gemspec CHANGED
@@ -29,31 +29,31 @@ Gem::Specification.new do |spec|
29
29
  # spec.test_files = `git ls-files -- {spec}/*`.split("\n")
30
30
  spec.required_ruby_version = Gem::Requirement.new(">= 2.7.0")
31
31
 
32
- spec.add_dependency "relaton-3gpp", "~> 1.17.0"
33
- spec.add_dependency "relaton-bipm", "~> 1.17.0"
34
- spec.add_dependency "relaton-bsi", "~> 1.17.0"
35
- spec.add_dependency "relaton-calconnect", "~> 1.17.0"
36
- spec.add_dependency "relaton-ccsds", "~> 1.17.0"
37
- spec.add_dependency "relaton-cen", "~> 1.17.0"
38
- spec.add_dependency "relaton-cie", "~> 1.17.0"
39
- spec.add_dependency "relaton-doi", "~> 1.17.0"
40
- spec.add_dependency "relaton-ecma", "~> 1.17.0"
41
- spec.add_dependency "relaton-etsi", "~> 1.17.0"
42
- spec.add_dependency "relaton-gb", "~> 1.17.0"
43
- spec.add_dependency "relaton-iana", "~> 1.17.0"
44
- spec.add_dependency "relaton-iec", "~> 1.17.0"
45
- spec.add_dependency "relaton-ieee", "~> 1.17.0"
46
- spec.add_dependency "relaton-ietf", "~> 1.17.0"
47
- spec.add_dependency "relaton-iho", "~> 1.17.0"
48
- spec.add_dependency "relaton-isbn", "~> 1.17.0"
49
- spec.add_dependency "relaton-iso", "~> 1.17.0"
50
- spec.add_dependency "relaton-itu", "~> 1.17.0"
51
- spec.add_dependency "relaton-jis", "~> 1.17.0"
52
- spec.add_dependency "relaton-nist", "~> 1.17.0"
53
- spec.add_dependency "relaton-oasis", "~> 1.17.0"
54
- spec.add_dependency "relaton-ogc", "~> 1.17.0"
55
- spec.add_dependency "relaton-omg", "~> 1.17.0"
56
- spec.add_dependency "relaton-un", "~> 1.17.0"
57
- spec.add_dependency "relaton-w3c", "~> 1.17.0"
58
- spec.add_dependency "relaton-xsf", "~> 1.17.0"
32
+ spec.add_dependency "relaton-3gpp", "~> 1.18.0"
33
+ spec.add_dependency "relaton-bipm", "~> 1.18.0"
34
+ spec.add_dependency "relaton-bsi", "~> 1.18.0"
35
+ spec.add_dependency "relaton-calconnect", "~> 1.18.0"
36
+ spec.add_dependency "relaton-ccsds", "~> 1.18.0"
37
+ spec.add_dependency "relaton-cen", "~> 1.18.0"
38
+ spec.add_dependency "relaton-cie", "~> 1.18.0"
39
+ spec.add_dependency "relaton-doi", "~> 1.18.0"
40
+ spec.add_dependency "relaton-ecma", "~> 1.18.0"
41
+ spec.add_dependency "relaton-etsi", "~> 1.18.0"
42
+ spec.add_dependency "relaton-gb", "~> 1.18.0"
43
+ spec.add_dependency "relaton-iana", "~> 1.18.0"
44
+ spec.add_dependency "relaton-iec", "~> 1.18.0"
45
+ spec.add_dependency "relaton-ieee", "~> 1.18.0"
46
+ spec.add_dependency "relaton-ietf", "~> 1.18.0"
47
+ spec.add_dependency "relaton-iho", "~> 1.18.0"
48
+ spec.add_dependency "relaton-isbn", "~> 1.18.0"
49
+ spec.add_dependency "relaton-iso", "~> 1.18.0"
50
+ spec.add_dependency "relaton-itu", "~> 1.18.0"
51
+ spec.add_dependency "relaton-jis", "~> 1.18.0"
52
+ spec.add_dependency "relaton-nist", "~> 1.18.0"
53
+ spec.add_dependency "relaton-oasis", "~> 1.18.0"
54
+ spec.add_dependency "relaton-ogc", "~> 1.18.0"
55
+ spec.add_dependency "relaton-omg", "~> 1.18.0"
56
+ spec.add_dependency "relaton-un", "~> 1.18.0"
57
+ spec.add_dependency "relaton-w3c", "~> 1.18.0"
58
+ spec.add_dependency "relaton-xsf", "~> 1.18.0"
59
59
  end
@@ -50,6 +50,38 @@ RSpec.describe Relaton::Db do
50
50
  expect(subject.send(:combine_doc, code, nil, {}, :relaton_bipm)).to be_nil
51
51
  end
52
52
  end
53
+
54
+ context "#fetch_entry" do
55
+ let(:db_cache) { double "db_cache" }
56
+
57
+ before do
58
+ expect(subject).to receive(:net_retry).with("ISO 123", nil, {}, kind_of(RelatonIso::Processor), 1).and_return :bib
59
+ end
60
+
61
+ it "using cache" do
62
+ expect(db_cache).to receive(:[]).with("ISO(ISO 123)").and_return nil
63
+ expect(db_cache).to receive(:[]=).with("ISO(ISO 123)", :entry)
64
+ expect(subject).to receive(:check_entry).with(:bib, :relaton_iso, db: db_cache, id: "ISO(ISO 123)").and_return :entry
65
+ entry = subject.send :fetch_entry, "ISO 123", nil, {}, :relaton_iso, db: db_cache, id: "ISO(ISO 123)"
66
+ expect(entry).to be :entry
67
+ end
68
+
69
+ it "DbCache is undefined" do
70
+ expect(subject).to receive(:check_entry).with(:bib, :relaton_iso, **{}).and_return :entry
71
+ entry = subject.send :fetch_entry, "ISO 123", nil, {}, :relaton_iso
72
+ expect(entry).to be :entry
73
+ end
74
+
75
+ it "not using cache" do
76
+ expect(subject).to receive(:bib_entry).with(:bib).and_return :entry
77
+ expect(subject).to receive(:check_entry).with(
78
+ :bib, :relaton_iso, db: db_cache, id: "ISO(ISO 123)", no_cache: true
79
+ ).and_return :entry
80
+ expect(db_cache).to receive(:[]).with("ISO(ISO 123)").and_return :entry
81
+ entry = subject.send :fetch_entry, "ISO 123", nil, {}, :relaton_iso, db: db_cache, id: "ISO(ISO 123)", no_cache: true
82
+ expect(entry).to be :entry
83
+ end
84
+ end
53
85
  end
54
86
 
55
87
  context "class methods" do
@@ -39,21 +39,21 @@ http_interactions:
39
39
  X-Xss-Protection:
40
40
  - 1; mode=block
41
41
  X-Github-Request-Id:
42
- - EA0A:234C:6136C2:76A26F:657CBECC
42
+ - AF8E:3D9C:52425E:6105F0:65C45A0E
43
43
  Accept-Ranges:
44
44
  - bytes
45
45
  Date:
46
- - Fri, 15 Dec 2023 21:02:05 GMT
46
+ - Thu, 08 Feb 2024 04:35:26 GMT
47
47
  Via:
48
48
  - 1.1 varnish
49
49
  X-Served-By:
50
- - cache-pdk-kpdk1780087-PDK
50
+ - cache-pdk-kpdk1780041-PDK
51
51
  X-Cache:
52
52
  - MISS
53
53
  X-Cache-Hits:
54
54
  - '0'
55
55
  X-Timer:
56
- - S1702674125.021523,VS0,VE264
56
+ - S1707366926.197574,VS0,VE231
57
57
  Vary:
58
58
  - Authorization,Accept-Encoding,Origin
59
59
  Access-Control-Allow-Origin:
@@ -61,9 +61,9 @@ http_interactions:
61
61
  Cross-Origin-Resource-Policy:
62
62
  - cross-origin
63
63
  X-Fastly-Request-Id:
64
- - 7cf65cbbcbdaeb1dfc42be6245dcb99d105b95c2
64
+ - 0d065624f1a175178ec59d149cb969b493434950
65
65
  Expires:
66
- - Fri, 15 Dec 2023 21:07:05 GMT
66
+ - Thu, 08 Feb 2024 04:40:26 GMT
67
67
  Source-Age:
68
68
  - '0'
69
69
  body:
@@ -11299,7 +11299,7 @@ http_interactions:
11299
11299
  HgMUAAAACAA6cm9XZto2RTS1BwAWXlAADQAYAAAAAAABAAAApIEAAAAAaW5k
11300
11300
  ZXgtdjEueWFtbFVUBQADENNUZXV4CwABBOkDAAAEfwAAAFBLBQYAAAAAAQAB
11301
11301
  AFMAAAB7tQcAAAA=
11302
- recorded_at: Fri, 15 Dec 2023 21:02:05 GMT
11302
+ recorded_at: Thu, 08 Feb 2024 04:35:26 GMT
11303
11303
  - request:
11304
11304
  method: get
11305
11305
  uri: https://raw.githubusercontent.com/relaton/relaton-data-3gpp/main/data/TR_00.01U_UMTS_3.0.0.yaml
@@ -11341,21 +11341,21 @@ http_interactions:
11341
11341
  X-Xss-Protection:
11342
11342
  - 1; mode=block
11343
11343
  X-Github-Request-Id:
11344
- - B8D8:0424:5FE216:754B4B:657CBED0
11344
+ - BD5E:49CA:418C58:4D25B2:65C45A11
11345
11345
  Accept-Ranges:
11346
11346
  - bytes
11347
11347
  Date:
11348
- - Fri, 15 Dec 2023 21:02:08 GMT
11348
+ - Thu, 08 Feb 2024 04:35:30 GMT
11349
11349
  Via:
11350
11350
  - 1.1 varnish
11351
11351
  X-Served-By:
11352
- - cache-pdk-kpdk1780090-PDK
11352
+ - cache-pdk-kpdk1780132-PDK
11353
11353
  X-Cache:
11354
11354
  - MISS
11355
11355
  X-Cache-Hits:
11356
11356
  - '0'
11357
11357
  X-Timer:
11358
- - S1702674129.629585,VS0,VE137
11358
+ - S1707366930.087565,VS0,VE159
11359
11359
  Vary:
11360
11360
  - Authorization,Accept-Encoding,Origin
11361
11361
  Access-Control-Allow-Origin:
@@ -11363,9 +11363,9 @@ http_interactions:
11363
11363
  Cross-Origin-Resource-Policy:
11364
11364
  - cross-origin
11365
11365
  X-Fastly-Request-Id:
11366
- - e5a350b43167b7f3d41e7f2809b0d4869346f491
11366
+ - bc9142ca8bb17cb878fb0d6088b57b5668e292ac
11367
11367
  Expires:
11368
- - Fri, 15 Dec 2023 21:07:08 GMT
11368
+ - Thu, 08 Feb 2024 04:40:30 GMT
11369
11369
  Source-Age:
11370
11370
  - '0'
11371
11371
  body:
@@ -11406,5 +11406,5 @@ http_interactions:
11406
11406
  bWVldGluZzogU01HLTI4CiAgZnJlZXplX3N0YWdlMl9tZWV0aW5nOiBTTUct
11407
11407
  MjgKICBmcmVlemVfc3RhZ2UzX21lZXRpbmc6IFNNRy0yOAogIGNsb3NlX21l
11408
11408
  ZXRpbmc6IFNQLTI4CiAgcHJvamVjdF9lbmQ6ICcxOTk5LTAyLTEyJwo=
11409
- recorded_at: Fri, 15 Dec 2023 21:02:08 GMT
11409
+ recorded_at: Thu, 08 Feb 2024 04:35:30 GMT
11410
11410
  recorded_with: VCR 6.2.0
@@ -27,27 +27,27 @@ http_interactions:
27
27
  Connection:
28
28
  - keep-alive
29
29
  Date:
30
- - Fri, 15 Dec 2023 21:02:54 GMT
30
+ - Thu, 08 Feb 2024 04:36:19 GMT
31
31
  X-Amzn-Requestid:
32
- - d5797694-3f7c-4b5c-b0b4-4e258aa6421b
32
+ - 12c03e4b-24de-4537-95ca-f4db5de98d7b
33
33
  Access-Control-Allow-Origin:
34
34
  - "*"
35
35
  Access-Control-Allow-Headers:
36
36
  - Content-Type,X-Amz-Date,Authorization,X-Api-Key,X-Amz-Security-Token
37
37
  X-Amz-Apigw-Id:
38
- - QALFSHcAoAMEfnQ=
38
+ - SzMH7Eb0oAMEgTQ=
39
39
  Access-Control-Allow-Methods:
40
40
  - GET, POST, OPTIONS
41
41
  X-Amzn-Trace-Id:
42
- - Root=1-657cbeee-0e87a651219ca2fd35614c22;Sampled=0;lineage=521d48d5:0
42
+ - Root=1-65c45a32-613956cb2302343f56f4374f;Parent=29415cb8fd97d15e;Sampled=0;lineage=521d48d5:0
43
43
  X-Cache:
44
44
  - Miss from cloudfront
45
45
  Via:
46
- - 1.1 fc1009b8e45427207e2a571827e9dd24.cloudfront.net (CloudFront)
46
+ - 1.1 2049bafbdd2d1f88e039f5995c93088a.cloudfront.net (CloudFront)
47
47
  X-Amz-Cf-Pop:
48
48
  - ATL51-C1
49
49
  X-Amz-Cf-Id:
50
- - _diMw4SxewdLl3Da5yx4iI-ZOXbCTRmzU6L0JQUGRIumlHu4ejmYCg==
50
+ - 9fUBqPyNt3zSyV83upqlH_JqjvIYzM8pq6Zw0gngiy4n71szIx-jmA==
51
51
  body:
52
52
  encoding: UTF-8
53
53
  base64_string: |
@@ -117,5 +117,5 @@ http_interactions:
117
117
  dHJ1Y3R1cmVkaWRlbnRpZmllciB0eXBlPSJJU08iPgogICAgICA8cHJvamVj
118
118
  dC1udW1iZXI+SVNPIDE5MTE1PC9wcm9qZWN0LW51bWJlcj4KICAgIDwvc3Ry
119
119
  dWN0dXJlZGlkZW50aWZpZXI+CiAgPC9leHQ+CjwvYmliZGF0YT4=
120
- recorded_at: Fri, 15 Dec 2023 21:02:54 GMT
120
+ recorded_at: Thu, 08 Feb 2024 04:36:19 GMT
121
121
  recorded_with: VCR 6.2.0