commonmeta-ruby 3.3.13 → 3.3.15

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: 268a974a3bf6756e996b5643f5e574319e9ce20e155e152edfd4cd8c8c2b956d
4
- data.tar.gz: f69f6ab42980113d6b4630b14444145a325395589195aa83c9784719af79c17c
3
+ metadata.gz: d7f58c5181ad8210359b3e6cb897e6a7c0b66d6065f2dda0836998e1a59939af
4
+ data.tar.gz: 780639668c9bc7b2fec43061818db60e3c05d4c6e430e6d03349d02ae781eacd
5
5
  SHA512:
6
- metadata.gz: d6adbd54eeb59c3bd0bffffb506a991063f0c45059a52cc461026608e9c2210a46754a028a939c95d2b65768fd1c57dd9984de0f24b2870f8273cfa9c73277ec
7
- data.tar.gz: 1dda3637e1eb87022101634203bde4ab94fe4a906891d748424d6c361084aaf674b74147258dd6613e39d8e09c6c67fff488a95a048b6f1cb38caeed433f4c32
6
+ metadata.gz: 65ab7d09ed4a84c4ba153a94f142de3a4878899832135883d83123b6bfdfa48b7c21f47b87ae6f385a158d874316ebed4236d531bd8f9921ce2a4802561b2015
7
+ data.tar.gz: b3970a10d049bcce65a9ac9a2f357b5569422335b2cc317877821aa7dddb3a0aa29070c2ab196dcccdfbd02f670f827d9515083c480f94c2686c34b3ceb5b524
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- commonmeta-ruby (3.3.13)
4
+ commonmeta-ruby (3.3.15)
5
5
  activesupport (>= 4.2.5, < 8.0)
6
6
  addressable (~> 2.8.1, < 2.8.2)
7
7
  base32-url (>= 0.7.0, < 1)
@@ -127,7 +127,7 @@ GEM
127
127
  minitest (5.18.1)
128
128
  multi_json (1.15.0)
129
129
  namae (1.1.1)
130
- nokogiri (1.15.2-arm64-darwin)
130
+ nokogiri (1.15.3-arm64-darwin)
131
131
  racc (~> 1.4)
132
132
  oj (3.15.0)
133
133
  optimist (3.0.1)
data/bin/commonmeta CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  require File.expand_path("../../lib/commonmeta", __FILE__)
4
4
 
5
- if (ARGV & %w(--version -v help --help encode decode encode_id decode_id encode_by_blog encode_by_uuid json_feed_not_indexed json_feed_unregistered json_feed_by_blog update_ghost_post)).empty?
5
+ if (ARGV & %w(--version -v help --help encode decode encode_id decode_id encode_by_blog encode_by_id json_feed_not_indexed json_feed_unregistered json_feed_by_blog update_ghost_post)).empty?
6
6
  Commonmeta::CLI.start(ARGV.dup.unshift("convert"))
7
7
  else
8
8
  Commonmeta::CLI.start
@@ -77,10 +77,10 @@ module Commonmeta
77
77
  puts encode_doi(prefix)
78
78
  end
79
79
 
80
- desc "", "encode_by_uuid"
80
+ desc "", "encode_by_id"
81
81
 
82
- def encode_by_uuid(uuid)
83
- prefix = get_doi_prefix_by_json_feed_item_uuid(uuid)
82
+ def encode_by_id(id)
83
+ prefix = get_doi_prefix_by_json_feed_item_id(id)
84
84
  return nil unless prefix.present?
85
85
  puts encode_doi(prefix)
86
86
  end
@@ -117,8 +117,8 @@ module Commonmeta
117
117
 
118
118
  desc "", "update_ghost_post"
119
119
 
120
- def update_ghost_post(uuid)
121
- puts update_ghost_post_via_api(uuid)
120
+ def update_ghost_post(id)
121
+ puts update_ghost_post_via_api(id)
122
122
  end
123
123
 
124
124
  default_task :convert
@@ -161,8 +161,8 @@ module Commonmeta
161
161
  xml.author(ref["author"]) if ref["author"].present?
162
162
  xml.volume(ref["volume"]) if ref["volume"].present?
163
163
  xml.first_page(ref["first_page"]) if ref["first_page"].present?
164
- xml.cYear(ref["cYear"]) if ref["cYear"].present?
165
- xml.article_title(ref["article_title"]) if ref["article_title"].present?
164
+ xml.cYear(ref["publicationYear"]) if ref["publicationYear"].present?
165
+ xml.article_title(ref["title"]) if ref["title"].present?
166
166
  xml.doi(doi_from_url(ref["doi"])) if ref["doi"].present?
167
167
  xml.unstructured_citation(ref["url"]) if ref["url"].present?
168
168
  end
@@ -147,10 +147,10 @@ module Commonmeta
147
147
  post.to_h.dig("prefix")
148
148
  end
149
149
 
150
- def get_doi_prefix_by_json_feed_item_uuid(uuid)
150
+ def get_doi_prefix_by_json_feed_item_id(id)
151
151
  # for generating a random DOI. Prefix is based on the blog id.
152
152
 
153
- url = json_feed_item_by_uuid_url(uuid)
153
+ url = json_feed_item_by_id_url(id)
154
154
  response = HTTP.get(url)
155
155
  return nil unless response.status.success?
156
156
 
@@ -1400,10 +1400,10 @@ module Commonmeta
1400
1400
  "https://doi.org/#{prefix}/#{str}"
1401
1401
  end
1402
1402
 
1403
- def encode_doi_for_uuid(uuid, options = {})
1404
- # look up prefix for rogue scholar blog associated with uuid
1405
- # returns nil if unknown uuid or doi registration is not enabled for blog
1406
- json_feed_by_uuid(uuid)
1403
+ def encode_doi_for_id(id, options = {})
1404
+ # look up prefix for rogue scholar blog associated with id
1405
+ # returns nil if unknown id or doi registration is not enabled for blog
1406
+ json_feed_by_id(id)
1407
1407
  # DOI suffix is a generated from a random number, encoded in base32
1408
1408
  # suffix has 8 digits plus two checksum digits. With base32 there are
1409
1409
  # 32 possible digits, so 8 digits gives 32^8 possible combinations
@@ -1449,8 +1449,8 @@ module Commonmeta
1449
1449
  "https://rogue-scholar.org/api/blogs/#{blog_id}"
1450
1450
  end
1451
1451
 
1452
- def json_feed_item_by_uuid_url(uuid)
1453
- "https://rogue-scholar.org/api/posts/#{uuid}"
1452
+ def json_feed_item_by_id_url(id)
1453
+ "https://rogue-scholar.org/api/posts/#{id}"
1454
1454
  end
1455
1455
 
1456
1456
  def generate_ghost_token(admin_api_key)
@@ -1473,43 +1473,43 @@ module Commonmeta
1473
1473
  JWT.encode payload, [secret].pack("H*"), "HS256", header
1474
1474
  end
1475
1475
 
1476
- def update_ghost_post_via_api(uuid)
1476
+ def update_ghost_post_via_api(id)
1477
1477
  api_key = ENV["API_KEY"]
1478
1478
  api_url = ENV["API_URL"]
1479
1479
 
1480
- return nil unless uuid.present? && api_key.present? && api_url.present?
1480
+ return nil unless id.present? && api_key.present? && api_url.present?
1481
1481
 
1482
1482
  # generate short lived jwt for ghost admin api
1483
1483
  ghost_jwt = generate_ghost_token(api_key)
1484
1484
 
1485
1485
  # get post url and doi from Rogue Scholar API
1486
- url = json_feed_item_by_uuid_url(uuid)
1486
+ url = json_feed_item_by_id_url(id)
1487
1487
  response = HTTP.get(url)
1488
1488
  return nil unless response.status.success?
1489
1489
 
1490
1490
  post = JSON.parse(response.body.to_s)
1491
1491
  url = post.to_h.dig("url")
1492
- doi = validate_doi(post.to_h.dig("id"))
1492
+ doi = validate_doi(post.to_h.dig("doi"))
1493
1493
  doi = doi_as_url(doi)
1494
1494
 
1495
1495
  return nil unless url.present? && doi.present?
1496
1496
 
1497
- # get id and updated_at from ghost api
1497
+ # get post_id and updated_at from ghost api
1498
1498
  slug = url.chomp("/").split("/").last
1499
1499
  ghost_url = "#{api_url}/ghost/api/admin/posts/slug/#{slug}/"
1500
1500
  response = HTTP.auth("Ghost #{ghost_jwt}").get(ghost_url)
1501
1501
  return nil unless response.status.success?
1502
1502
 
1503
1503
  ghost_post = JSON.parse(response.body.to_s).dig("posts").first
1504
- id = ghost_post.dig("id")
1504
+ ghost_id = ghost_post.dig("id")
1505
1505
  updated_at = ghost_post.dig("updated_at")
1506
1506
 
1507
- return nil unless id.present? && updated_at.present?
1507
+ return nil unless ghost_id.present? && updated_at.present?
1508
1508
 
1509
1509
  # update post canonical_url with new doi
1510
- ghost_url = "#{api_url}/ghost/api/admin/posts/#{id}/"
1510
+ ghost_url = "#{api_url}/ghost/api/admin/posts/#{ghost_id}/"
1511
1511
  response = HTTP.auth("Ghost #{ghost_jwt}").headers('Content-Type' => "application/json", 'Accept-Version' => 'v5').put(ghost_url, :json => { 'posts' => [{ 'canonical_url' => doi, 'updated_at' => updated_at }] })
1512
- "#{response.status} DOI #{doi} added to post #{uuid}"
1512
+ "#{response.status} DOI #{doi} added to post #{ghost_id}"
1513
1513
  end
1514
1514
  end
1515
1515
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Commonmeta
4
- VERSION = '3.3.13'
4
+ VERSION = '3.3.15'
5
5
  end
data/spec/cli_spec.rb CHANGED
@@ -332,14 +332,14 @@ describe Commonmeta::CLI do
332
332
  expect { subject.encode_by_blog input }.to output("").to_stdout
333
333
  end
334
334
 
335
- it "by_uuid" do
335
+ it "by_id" do
336
336
  input = "2b22bbba-bcba-4072-94cc-3f88442fff88"
337
- expect { subject.encode_by_uuid input }.to output(/https:\/\/doi.org\/10.54900/).to_stdout
337
+ expect { subject.encode_by_id input }.to output(/https:\/\/doi.org\/10.54900/).to_stdout
338
338
  end
339
339
 
340
- it "by_uuid unknown uuid" do
340
+ it "by_id unknown uuid" do
341
341
  input = "2b22bbba-bcba-4072-94cc-3f88442"
342
- expect { subject.encode_by_uuid input }.to output("").to_stdout
342
+ expect { subject.encode_by_id input }.to output("").to_stdout
343
343
  end
344
344
  end
345
345
 
@@ -0,0 +1,62 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://rogue-scholar.org/api/posts/2b22bbba-bcba-4072-94cc-3f88442fff88
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ Connection:
11
+ - close
12
+ Host:
13
+ - rogue-scholar.org
14
+ User-Agent:
15
+ - http.rb/5.1.1
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Age:
22
+ - '0'
23
+ Cache-Control:
24
+ - public, max-age=0, must-revalidate
25
+ Content-Length:
26
+ - '1894'
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Date:
30
+ - Sun, 09 Jul 2023 11:52:35 GMT
31
+ Etag:
32
+ - '"15o6g3vltsa1gm"'
33
+ Server:
34
+ - Vercel
35
+ Strict-Transport-Security:
36
+ - max-age=63072000
37
+ X-Matched-Path:
38
+ - "/api/posts/[[...params]]"
39
+ X-Vercel-Cache:
40
+ - MISS
41
+ X-Vercel-Id:
42
+ - fra1::iad1::flst9-1688903555530-c16d7c4324cc
43
+ Connection:
44
+ - close
45
+ body:
46
+ encoding: UTF-8
47
+ string: '{"id":"2b22bbba-bcba-4072-94cc-3f88442fff88","doi":"https://doi.org/10.54900/6p6re-xyj61","url":"https://upstream.force11.org/an-initial-scholarly-ai-taxonomy","title":"An
48
+ Initial Scholarly AI Taxonomy","summary":"Although advances in artificial
49
+ intelligence (AI)1 have been unfolding for over decades, the progress in the
50
+ last six months has come faster than anyone expected. The public release of
51
+ ChatGPT in November 2022, in particular, has opened up new possibilities and
52
+ heightened awareness of AI''s potential role in various aspects of our work
53
+ and life.It follows that in the context of the publishing industry, AI also
54
+ holds the promise of transforming multiple facets of the publishing process2.
55
+ In this...","date_published":"2023-04-11T08:00:34+00:00","date_modified":"2023-04-11T15:29:38+00:00","date_indexed":"2023-06-27T10:51:38.566+00:00","authors":[{"url":null,"name":"Adam
56
+ Hyde"},{"url":"https://orcid.org/0000-0002-7378-2408","name":"John Chodacki"},{"url":null,"name":"Paul
57
+ Shannon"}],"image":"https://upstream.force11.org/content/images/2023/04/1-1.png","tags":["Thought
58
+ Pieces"],"language":"en","references":[],"blog_id":"pm0p222","blog":{"id":"pm0p222","title":"Upstream","description":"The
59
+ community blog for all things Open Research.","language":"en","favicon":"https://upstream.force11.org/favicon.png","feed_url":"https://upstream.force11.org/atom-complete/","home_page_url":"https://upstream.force11.org","user_id":"8498eaf6-8c58-4b58-bc15-27eda292b1aa","created_at":"2023-05-31T07:23:49+00:00","indexed_at":"2023-01-13","feed_format":"application/atom+xml","license":"https://creativecommons.org/licenses/by/4.0/legalcode","generator":"Ghost
60
+ 5.25","category":"Humanities","prefix":"10.54900","modified_at":"2023-07-04T21:15:51+00:00","version":"https://jsonfeed.org/version/1.1","backlog":false,"current_feed_url":"https://upstream.force11.org/atom/","expired":null}}'
61
+ recorded_at: Sun, 09 Jul 2023 11:52:35 GMT
62
+ recorded_with: VCR 6.2.0
@@ -0,0 +1,49 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://rogue-scholar.org/api/posts/2b22bbba-bcba-4072-94cc-3f88442
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ Connection:
11
+ - close
12
+ Host:
13
+ - rogue-scholar.org
14
+ User-Agent:
15
+ - http.rb/5.1.1
16
+ response:
17
+ status:
18
+ code: 404
19
+ message: Not Found
20
+ headers:
21
+ Age:
22
+ - '0'
23
+ Cache-Control:
24
+ - public, max-age=0, must-revalidate
25
+ Content-Length:
26
+ - '28'
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Date:
30
+ - Sun, 09 Jul 2023 11:52:35 GMT
31
+ Etag:
32
+ - '"jtxxi9yf69s"'
33
+ Server:
34
+ - Vercel
35
+ Strict-Transport-Security:
36
+ - max-age=63072000
37
+ X-Matched-Path:
38
+ - "/api/posts/[[...params]]"
39
+ X-Vercel-Cache:
40
+ - MISS
41
+ X-Vercel-Id:
42
+ - fra1::iad1::r2jnr-1688903554372-bc572f9c2183
43
+ Connection:
44
+ - close
45
+ body:
46
+ encoding: UTF-8
47
+ string: '{"message":"Post not found"}'
48
+ recorded_at: Sun, 09 Jul 2023 11:52:35 GMT
49
+ recorded_with: VCR 6.2.0
@@ -0,0 +1,65 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://rogue-scholar.org/api/posts/1898d2d7-4d87-4487-96c4-3073cf99e9a5
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ Connection:
11
+ - close
12
+ Host:
13
+ - rogue-scholar.org
14
+ User-Agent:
15
+ - http.rb/5.1.1
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Age:
22
+ - '0'
23
+ Cache-Control:
24
+ - public, max-age=0, must-revalidate
25
+ Content-Length:
26
+ - '2134'
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Date:
30
+ - Sun, 09 Jul 2023 11:52:38 GMT
31
+ Etag:
32
+ - '"7l6hjo0ui11na"'
33
+ Server:
34
+ - Vercel
35
+ Strict-Transport-Security:
36
+ - max-age=63072000
37
+ X-Matched-Path:
38
+ - "/api/posts/[[...params]]"
39
+ X-Vercel-Cache:
40
+ - MISS
41
+ X-Vercel-Id:
42
+ - fra1::iad1::ndt5n-1688903557843-b8eb7a7cc5a1
43
+ Connection:
44
+ - close
45
+ body:
46
+ encoding: UTF-8
47
+ string: '{"id":"1898d2d7-4d87-4487-96c4-3073cf99e9a5","doi":"https://doi.org/10.59350/63055-a8604","url":"http://sfmatheson.blogspot.com/2023/01/quintessence-of-dust-2023-restart-why.html","title":"Quintessence
48
+ of Dust 2023 restart: the why","summary":"It''s early January 2023, a little
49
+ before sunset in Tucson. Live image below, showing the glorious Santa Catalina
50
+ mountains (the snow on the upper reaches is more apparent earlier in the day)
51
+ and my dinner preparations (shrimp and veggies on the grill).I''ve decided
52
+ to start writing here at Quintessence of Dust, after another long hiatus.
53
+ Here are some of my reasons.1. I like to write, and I have things to say,
54
+ and I self-identify as an author. For eight years, I have co-organized and
55
+ taught in...","date_published":"2023-01-09T03:03:00+00:00","date_modified":"2023-04-02T21:17:07+00:00","date_indexed":"2023-06-28T19:01:12.223+00:00","authors":[{"url":null,"name":"Stephen
56
+ Matheson"}],"image":null,"tags":["Introduction"],"language":"en","references":[],"blog_id":"5764g49","blog":{"id":"5764g49","title":"Quintessence
57
+ of Dust","description":"<i>Quintessence of Dust</i> explores science, society,
58
+ and human nature, focusing on genetics, development, evolution, neuroscience,
59
+ systems biology, and topics related to scientific literacy. I occasionally
60
+ discuss intelligent design, creationism, science denial, and other political/social
61
+ influences on scientific literacy. Additional topics: philosophy, baseball,
62
+ scientific culture, and Shakespeare. My main theme is <b><u>scientific explanation</u></b>.","language":"en","favicon":null,"feed_url":"http://sfmatheson.blogspot.com/feeds/posts/default","home_page_url":"http://sfmatheson.blogspot.com/","user_id":"8498eaf6-8c58-4b58-bc15-27eda292b1aa","created_at":"2023-05-31T14:21:27+00:00","indexed_at":"2023-04-18","feed_format":"application/atom+xml","license":"https://creativecommons.org/licenses/by/4.0/legalcode","generator":"Blogger
63
+ 7.00","category":"Social Sciences","prefix":"10.59350","modified_at":"2023-07-05T03:41:45+00:00","version":"https://jsonfeed.org/version/1.1","backlog":true,"current_feed_url":null,"expired":null}}'
64
+ recorded_at: Sun, 09 Jul 2023 11:52:38 GMT
65
+ recorded_with: VCR 6.2.0
@@ -0,0 +1,62 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://rogue-scholar.org/api/posts/2b22bbba-bcba-4072-94cc-3f88442fff88
6
+ body:
7
+ encoding: UTF-8
8
+ string: ''
9
+ headers:
10
+ Connection:
11
+ - close
12
+ Host:
13
+ - rogue-scholar.org
14
+ User-Agent:
15
+ - http.rb/5.1.1
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Age:
22
+ - '0'
23
+ Cache-Control:
24
+ - public, max-age=0, must-revalidate
25
+ Content-Length:
26
+ - '1894'
27
+ Content-Type:
28
+ - application/json; charset=utf-8
29
+ Date:
30
+ - Sun, 09 Jul 2023 11:52:37 GMT
31
+ Etag:
32
+ - '"15o6g3vltsa1gm"'
33
+ Server:
34
+ - Vercel
35
+ Strict-Transport-Security:
36
+ - max-age=63072000
37
+ X-Matched-Path:
38
+ - "/api/posts/[[...params]]"
39
+ X-Vercel-Cache:
40
+ - MISS
41
+ X-Vercel-Id:
42
+ - fra1::iad1::g259v-1688903557225-686006d77fb3
43
+ Connection:
44
+ - close
45
+ body:
46
+ encoding: UTF-8
47
+ string: '{"id":"2b22bbba-bcba-4072-94cc-3f88442fff88","doi":"https://doi.org/10.54900/6p6re-xyj61","url":"https://upstream.force11.org/an-initial-scholarly-ai-taxonomy","title":"An
48
+ Initial Scholarly AI Taxonomy","summary":"Although advances in artificial
49
+ intelligence (AI)1 have been unfolding for over decades, the progress in the
50
+ last six months has come faster than anyone expected. The public release of
51
+ ChatGPT in November 2022, in particular, has opened up new possibilities and
52
+ heightened awareness of AI''s potential role in various aspects of our work
53
+ and life.It follows that in the context of the publishing industry, AI also
54
+ holds the promise of transforming multiple facets of the publishing process2.
55
+ In this...","date_published":"2023-04-11T08:00:34+00:00","date_modified":"2023-04-11T15:29:38+00:00","date_indexed":"2023-06-27T10:51:38.566+00:00","authors":[{"url":null,"name":"Adam
56
+ Hyde"},{"url":"https://orcid.org/0000-0002-7378-2408","name":"John Chodacki"},{"url":null,"name":"Paul
57
+ Shannon"}],"image":"https://upstream.force11.org/content/images/2023/04/1-1.png","tags":["Thought
58
+ Pieces"],"language":"en","references":[],"blog_id":"pm0p222","blog":{"id":"pm0p222","title":"Upstream","description":"The
59
+ community blog for all things Open Research.","language":"en","favicon":"https://upstream.force11.org/favicon.png","feed_url":"https://upstream.force11.org/atom-complete/","home_page_url":"https://upstream.force11.org","user_id":"8498eaf6-8c58-4b58-bc15-27eda292b1aa","created_at":"2023-05-31T07:23:49+00:00","indexed_at":"2023-01-13","feed_format":"application/atom+xml","license":"https://creativecommons.org/licenses/by/4.0/legalcode","generator":"Ghost
60
+ 5.25","category":"Humanities","prefix":"10.54900","modified_at":"2023-07-04T21:15:51+00:00","version":"https://jsonfeed.org/version/1.1","backlog":false,"current_feed_url":"https://upstream.force11.org/atom/","expired":null}}'
61
+ recorded_at: Sun, 09 Jul 2023 11:52:37 GMT
62
+ recorded_with: VCR 6.2.0
@@ -425,13 +425,13 @@ describe Commonmeta::Metadata, vcr: true do
425
425
  expect(response).to eq("10.59350")
426
426
  end
427
427
 
428
- it "by blog post uuid" do
429
- response = subject.get_doi_prefix_by_json_feed_item_uuid("1898d2d7-4d87-4487-96c4-3073cf99e9a5")
428
+ it "by blog post id" do
429
+ response = subject.get_doi_prefix_by_json_feed_item_id("1898d2d7-4d87-4487-96c4-3073cf99e9a5")
430
430
  expect(response).to eq("10.59350")
431
431
  end
432
432
 
433
- it "by blog post uuid specific prefix" do
434
- response = subject.get_doi_prefix_by_json_feed_item_uuid("2b22bbba-bcba-4072-94cc-3f88442fff88")
433
+ it "by blog post id specific prefix" do
434
+ response = subject.get_doi_prefix_by_json_feed_item_id("2b22bbba-bcba-4072-94cc-3f88442fff88")
435
435
  expect(response).to eq("10.54900")
436
436
  end
437
437
  end
@@ -225,7 +225,7 @@ describe Commonmeta::Metadata, vcr: true do
225
225
  expect(crossref_xml.dig("titles",
226
226
  "title")).to eq("The Research Software Alliance (ReSA)")
227
227
  expect(crossref_xml.dig("citation_list", "citation").length).to eq(11)
228
- expect(crossref_xml.dig("citation_list", "citation").last).to eq("doi"=>"10.5281/zenodo.3699950", "key"=>"ref11")
228
+ expect(crossref_xml.dig("citation_list", "citation").last).to eq("article_title"=>"The Research Software Alliance (ReSA) and the community landscape", "cYear"=>"2020", "doi"=>"10.5281/zenodo.3699950", "key"=>"ref11")
229
229
  expect(crossref_xml.dig('item_number')).to eq("__content__"=>"954f81380ecd409087c5cef1297f1470", "item_number_type"=>"uuid")
230
230
  expect(crossref_xml.dig('group_title')).to eq('Humanities')
231
231
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: commonmeta-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.3.13
4
+ version: 3.3.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Fenner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-07-05 00:00:00.000000000 Z
11
+ date: 2023-07-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -782,6 +782,8 @@ files:
782
782
  - spec/fixtures/vcr_cassettes/Commonmeta_CLI/doi_prefix/doi_prefix_by_uuid.yml
783
783
  - spec/fixtures/vcr_cassettes/Commonmeta_CLI/encode/by_blog.yml
784
784
  - spec/fixtures/vcr_cassettes/Commonmeta_CLI/encode/by_blog_unknown_blog_id.yml
785
+ - spec/fixtures/vcr_cassettes/Commonmeta_CLI/encode/by_id.yml
786
+ - spec/fixtures/vcr_cassettes/Commonmeta_CLI/encode/by_id_unknown_uuid.yml
785
787
  - spec/fixtures/vcr_cassettes/Commonmeta_CLI/encode/by_uuid.yml
786
788
  - spec/fixtures/vcr_cassettes/Commonmeta_CLI/encode/by_uuid_unknown_uuid.yml
787
789
  - spec/fixtures/vcr_cassettes/Commonmeta_CLI/find_from_format_by_id/crossref.yml
@@ -861,6 +863,8 @@ files:
861
863
  - spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_datacite_metadata/funding_references.yml
862
864
  - spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_datacite_metadata/subject_scheme.yml
863
865
  - spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_doi_prefix_for_blog/by_blog_id.yml
866
+ - spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_doi_prefix_for_blog/by_blog_post_id.yml
867
+ - spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_doi_prefix_for_blog/by_blog_post_id_specific_prefix.yml
864
868
  - spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_doi_prefix_for_blog/by_blog_post_uuid.yml
865
869
  - spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_doi_prefix_for_blog/by_blog_post_uuid_specific_prefix.yml
866
870
  - spec/fixtures/vcr_cassettes/Commonmeta_Metadata/get_json_feed/by_blog_id.yml