relaton 1.17.2 → 1.18.1

Sign up to get free protection for your applications and to get access to all the features.
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