briard 2.1 → 2.2

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: f0eaabf0817983f43847aef742367e1a768c3887931f69d093e7fd679523c6c8
4
- data.tar.gz: 8179d2fc9aae83af0df2f2b0033752d348184d55548168e32ec013c7db57be0f
3
+ metadata.gz: 277672725deb5879eab67ba97ad3790a8af6444e3ff1d16f95c174f3f6229c8d
4
+ data.tar.gz: ea82a2e0a0cb6e1ecbdc85fae4502111dfc0b2c6a6e7a87ad8af0dea89def161
5
5
  SHA512:
6
- metadata.gz: bdb837a28824c3a70d683a1d56bfd84a40b0334b742cd591020c64fa25cc45a64f429dfafe0309c1f0e6bf0387082e04308b16b9b6c93153c168d787e6ced763
7
- data.tar.gz: 4a6e6d945558ca4b70a57d667e97c0994c1b25ea6f546f9f4caf5914052adaef41f3fc028757eb5cc647bc19f6d94ceedb951bdce75547853c8f02244781c27c
6
+ metadata.gz: d6172b62c3f60e047b0c11204d452919f7ce4a6348f50ecc8dafd2117c920600b06c2508d0af018d0aa88b8c96d0138978f0efdd8d8ce9ad621a91e4db296118
7
+ data.tar.gz: 881202c95ffad90050b687a581ffc87861397c7d861e47b898e609589243b7d3c773a8597004f54794899a8a917ea10827bf2350d64e78513a21fb39a496c916
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.1](https://github.com/front-matter/briard/tree/2.1) (2021-12-07)
4
+
5
+ [Full Changelog](https://github.com/front-matter/briard/compare/2.0.2...2.1)
6
+
3
7
  ## [2.0.2](https://github.com/front-matter/briard/tree/2.0.2) (2021-12-06)
4
8
 
5
9
  [Full Changelog](https://github.com/front-matter/briard/compare/2.0.1...2.0.2)
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- briard (2.1)
4
+ briard (2.2)
5
5
  activesupport (>= 4.2.5)
6
6
  benchmark_methods (~> 0.7)
7
7
  bibtex-ruby (>= 5.1.0)
data/README.md CHANGED
@@ -88,7 +88,7 @@ Briard reads and/or writes these metadata formats:
88
88
  <td>citation file format (cff)</td>
89
89
  <td>application/vnd.cff+yaml</td>
90
90
  <td>Yes</td>
91
- <td>No</td>
91
+ <td>Yes</td>
92
92
  </tr>
93
93
  <tr>
94
94
  <td><a href='https://jats.nlm.nih.gov/'>JATS</a></td>
@@ -21,7 +21,7 @@ require_relative 'readers/schema_org_reader'
21
21
  require_relative 'writers/bibtex_writer'
22
22
  require_relative 'writers/citation_writer'
23
23
  require_relative 'writers/citeproc_writer'
24
- # require_relative 'writers/cff_writer'
24
+ require_relative 'writers/cff_writer'
25
25
  require_relative 'writers/codemeta_writer'
26
26
  require_relative 'writers/crosscite_writer'
27
27
  require_relative 'writers/crossref_writer'
@@ -58,7 +58,7 @@ module Briard
58
58
  include Briard::Writers::BibtexWriter
59
59
  include Briard::Writers::CitationWriter
60
60
  include Briard::Writers::CiteprocWriter
61
- # include Briard::Writers::CffWriter
61
+ include Briard::Writers::CffWriter
62
62
  include Briard::Writers::CodemetaWriter
63
63
  include Briard::Writers::CrossciteWriter
64
64
  include Briard::Writers::CrossrefWriter
data/lib/briard/utils.rb CHANGED
@@ -506,10 +506,12 @@ module Briard
506
506
  "orcid"
507
507
  elsif /\A(http|https):\/(\/)?github\.com\/(.+)\/package.json\z/.match(id)
508
508
  "npm"
509
- elsif /\A(http|https):\/(\/)?github\.com\/(.+)\/CITATION.cff\z/.match(id)
510
- "cff"
511
509
  elsif /\A(http|https):\/(\/)?github\.com\/(.+)\/codemeta.json\z/.match(id)
512
510
  "codemeta"
511
+ elsif /\A(http|https):\/(\/)?github\.com\/(.+)\/CITATION.cff\z/.match(id)
512
+ "cff"
513
+ elsif /\A(http|https):\/(\/)?github\.com\/(.+)\z/.match(id)
514
+ "cff"
513
515
  else
514
516
  "schema_org"
515
517
  end
@@ -1,3 +1,3 @@
1
1
  module Briard
2
- VERSION = "2.1"
2
+ VERSION = "2.2"
3
3
  end
@@ -1,29 +1,27 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # module Briard
4
- # module Writers
5
- # module CffWriter
6
- # def cff
7
- # return nil unless valid? || show_errors
3
+ module Briard
4
+ module Writers
5
+ module CffWriter
6
+ def cff
7
+ return nil unless valid? || show_errors
8
+
9
+ # only use CFF for software
10
+ return nil unless types["resourceTypeGeneral"] == "Software"
8
11
 
9
- # hsh = {
10
- # "@context" => id.present? ? "https://raw.githubusercontent.com/codemeta/codemeta/master/codemeta.jsonld" : nil,
11
- # "@type" => types.present? ? types["schemaOrg"] : nil,
12
- # "@id" => normalize_doi(doi),
13
- # "identifier" => to_schema_org_identifiers(identifiers),
14
- # "codeRepository" => url,
15
- # "name" => parse_attributes(titles, content: "title", first: true),
16
- # "authors" => creators,
17
- # "description" => parse_attributes(descriptions, content: "description", first: true),
18
- # "version" => version_info,
19
- # "tags" => subjects.present? ? Array.wrap(subjects).map { |k| parse_attributes(k, content: "subject", first: true) } : nil,
20
- # "datePublished" => get_date(dates, "Issued") || publication_year,
21
- # "dateModified" => get_date(dates, "Updated"),
22
- # "publisher" => publisher,
23
- # "license" => Array.wrap(rights_list).map { |l| l["rightsUri"] }.compact.unwrap,
24
- # }.compact
25
- # JSON.pretty_generate hsh.presence
26
- # end
27
- # end
28
- # end
29
- # end
12
+ hsh = {
13
+ "doi" => normalize_doi(doi),
14
+ "repository-code" => url,
15
+ "title" => parse_attributes(titles, content: "title", first: true),
16
+ "authors" => creators,
17
+ "abstract" => parse_attributes(descriptions, content: "description", first: true),
18
+ "version" => version_info,
19
+ "keywords" => subjects.present? ? Array.wrap(subjects).map { |k| parse_attributes(k, content: "subject", first: true) } : nil,
20
+ "date-released" => get_date(dates, "Issued") || publication_year,
21
+ "license" => Array.wrap(rights_list).map { |l| l["rightsUri"] }.compact.unwrap,
22
+ }.compact
23
+ hsh.to_yaml
24
+ end
25
+ end
26
+ end
27
+ end
@@ -44,6 +44,11 @@ describe Briard::CLI do
44
44
  expect(subject.find_from_format_by_id(id)).to eq("cff")
45
45
  end
46
46
 
47
+ it "cff repository url" do
48
+ id = "https://github.com/citation-file-format/ruby-cff"
49
+ expect(subject.find_from_format_by_id(id)).to eq("cff")
50
+ end
51
+
47
52
  it "codemeta" do
48
53
  id = "https://github.com/datacite/maremma/blob/master/codemeta.json"
49
54
  expect(subject.find_from_format_by_id(id)).to eq("codemeta")
@@ -0,0 +1,75 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://raw.githubusercontent.com/citation-file-format/ruby-cff/main/CITATION.cff
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Mozilla/5.0 (compatible; Maremma/4.9.6; mailto:info@front-matter.io)
12
+ Accept:
13
+ - application/json;charset=UTF-8
14
+ Accept-Encoding:
15
+ - gzip,deflate
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Connection:
22
+ - keep-alive
23
+ Content-Length:
24
+ - '1100'
25
+ Cache-Control:
26
+ - max-age=300
27
+ Content-Security-Policy:
28
+ - default-src 'none'; style-src 'unsafe-inline'; sandbox
29
+ Content-Type:
30
+ - text/plain; charset=utf-8
31
+ Etag:
32
+ - W/"0c65d88dd50bd96382850237735a8e2d6c0826d4497c8aafd6c28a2bacdb4127"
33
+ Strict-Transport-Security:
34
+ - max-age=31536000
35
+ X-Content-Type-Options:
36
+ - nosniff
37
+ X-Frame-Options:
38
+ - deny
39
+ X-Xss-Protection:
40
+ - 1; mode=block
41
+ X-Github-Request-Id:
42
+ - 5F70:4B14:BA3342:CA71F6:61AF4743
43
+ Content-Encoding:
44
+ - gzip
45
+ Accept-Ranges:
46
+ - bytes
47
+ Date:
48
+ - Tue, 07 Dec 2021 11:36:35 GMT
49
+ Via:
50
+ - 1.1 varnish
51
+ X-Served-By:
52
+ - cache-hhn4051-HHN
53
+ X-Cache:
54
+ - MISS
55
+ X-Cache-Hits:
56
+ - '0'
57
+ X-Timer:
58
+ - S1638876995.131742,VS0,VE231
59
+ Vary:
60
+ - Authorization,Accept-Encoding,Origin
61
+ Access-Control-Allow-Origin:
62
+ - "*"
63
+ X-Fastly-Request-Id:
64
+ - 6d84e483d6e3bfe288100e18fcf8daf4bab75805
65
+ Expires:
66
+ - Tue, 07 Dec 2021 11:41:35 GMT
67
+ Source-Age:
68
+ - '0'
69
+ body:
70
+ encoding: ASCII-8BIT
71
+ string: !binary |-
72
+ H4sIAAAAAAAAA5VW247bNhB911cMkJcWCGVJ67UkP3Xj7Xa3uRXZDYo80tLIIkyLAknZcf4mj/2O/FiHlC9bW0lcw4ZkcjjXwznzAp5qYWD28HTz9PD+XVhUFVRCImy4gUIjt1jCfAu6m2+Z2/xlDVGYh9GvYfAC/sDVFGprWzMdjZzIAlcmVHoxci8jkieh2d3dUagQlluhGuaMsErpFbfhQti6m4dCjYKAzrA1akMyU4jDJIyCFRrDFziFhwq2qoPO4NEf0bg1DRully+hlchpl6wgCEuSolmArREqJaXauH8rtLzklgdWWElKP5Am5yO8EXPN9Tbgc2M1L+y0T43sl6HVai1KNMD7I6KxqCteIFgFK96ItpOULZjtIoQ7l8Y7H6FPqQl4Z2ulzTRgUPGVkFvWcApuCvdcNLQPsBBrbParH9QctaVVpQtRHnPo//osR/Rh9EtYfn2VsTSPcxLnFZkT3gkXA8LHRviU2i2oCt7ypqjRkPcv4eNr8sWZ6wX7XAwFcItrlKolLcESt5Ts0ofhykAPAkopLL0YVdkN174CXomTQYNcF/Vh87mc6Yyl4PmcPLZO1aE87KCjB2SPFVqmWgUHhHgsBqUSBJYovE6yePQFG1WqMI6zcZSmASlDptEDg5KYREnMoozFWSBFgY2h0G9aThlhDmsaW0WJUnrLuLai8jj4McKfHSlUiUfxHawLtRqE/WiPYdJQocamQJ9Tu21JySFZADugDtXFVXsPKoBTWN3qziy90AmyHi22NW/8xk/BdcXGeXLN0mScDdh4bDlfmnMTf3ZaC84buA8vM5OwNJqM2Tia5ANmZnWHcK+axbmldyjkpSayLJ2wdBJNBkwcLuH3ruH/voinFl7xJeqBVLnHpfqTSZawSZ4kQ/qlUztQ7taBS19qIk7oLZ7kmT+AKy4k4bHXEc69jd8WbtVBe8CNv4WUYlFTyx7w5feFuhB3MUuvxwmLkmyoWn99+0fjF/bYfftKz3M7t5y69aUAj9JsTEmNcn9gg3O6z88uctmaGqVQR6IacOi1atSaS7U+9+VG4mfelJdWIGbXSZ6zqyR3RSbOaagRCdzf8b4/UMvz2shkh+fNj6KKx304xFmFFu2RDgpFlWypp79/cF3V82NB/IiFby+07Vqy40ouJexarXHU4SSH2lB4sWPXcRrnV+mwYztTNHE8d2232g8DP/PiSE7Oo0EGcRuOQ84EjF86pzBf6xMFn27evvmv+AmTub1z5vM2e7Kkzn0YNM7GL5oySGUrSSFY/LwbIGBD+IO6o2mDAQGKxo6ipqZF9EacOZdHn2k66Z31sVEi9x6EMCOOotTv6RwK7qQL2dEyZXblJip6Cg0HYhNkmoYciRYUbdGhZaM2UNOPlgulNUFHbvuxqz97tOeHKPq6qlETKQjKxdGvH9XyO8ztb+mBu2cz9uoTGxN1A5zMjf8CsnKrBdwKAAA=
73
+ http_version:
74
+ recorded_at: Tue, 07 Dec 2021 11:36:35 GMT
75
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,61 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.datacite.org/dois/10.5281/zenodo.10164?include=media,client
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Mozilla/5.0 (compatible; Maremma/4.9.6; mailto:info@front-matter.io)
12
+ Accept:
13
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
+ Accept-Encoding:
15
+ - gzip,deflate
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Tue, 07 Dec 2021 11:05:59 GMT
23
+ Content-Type:
24
+ - application/json; charset=utf-8
25
+ Connection:
26
+ - keep-alive
27
+ Status:
28
+ - 200 OK
29
+ X-Anonymous-Consumer:
30
+ - 'true'
31
+ Cache-Control:
32
+ - max-age=0, private, must-revalidate
33
+ Vary:
34
+ - Accept-Encoding
35
+ Content-Encoding:
36
+ - gzip
37
+ Etag:
38
+ - W/"947aba8bfca9218fef3f4988fa5bdd3c"
39
+ X-Runtime:
40
+ - '0.302320'
41
+ X-Request-Id:
42
+ - 4cb01d85-ff8d-4234-897b-2287abb71e06
43
+ X-Powered-By:
44
+ - Phusion Passenger(R) 6.0.12
45
+ Server:
46
+ - nginx/1.18.0 + Phusion Passenger(R) 6.0.12
47
+ Access-Control-Allow-Credentials:
48
+ - 'true'
49
+ Access-Control-Allow-Methods:
50
+ - GET, POST, PUT, PATCH, DELETE, OPTIONS
51
+ Access-Control-Allow-Headers:
52
+ - Accept,Access-Control-Allow-Origin,Access-Control-Expose-Headers,Access-Control-Allow-Methods,Access-Control-Allow-Headers,Authorization,Cache-Control,Content-Type,DNT,If-Modified-Since,Keep-Alive,Origin,User-Agent,X-Mx-ReqToken,X-Requested-With
53
+ Access-Control-Expose-Headers:
54
+ - Authorization
55
+ body:
56
+ encoding: ASCII-8BIT
57
+ string: !binary |-
58
+ H4sIABdAr2EAA7xZW3PiSpL+KwqedqN9EcLYxjG7EQbMrQHb3AQ65zyUpLJUULqMSkKIjv5b+zRv88cmsyRAYJ+dnt3YjXCEUSor68t7KetHxSYxqTz9qDC78lSpqjd17bF6u6d+YAc3VbV6f1e5qsRZSOGtHTABTySOI2YmMRW4Doh/vjCM6Afbnd4DSSQfOemCldnUj9kHoxGI/e0P2IbHNPJJTPuXb6yIkjiQTz8qPvEQ23cOsK6UWRCZ67//V+SDRHwzy5G/wdrAJxyoDttSf5wvKnN/EI/xbFyShqoCVs5IzAIfNqsMEsqZ5SrTJKSRFXhhEjPfUVqAL6JXyuDvf8PXV0qXRh7xs8ofOYgLBX5eHVGPAkGjK6XNKOj6S5CPrGd4pZz/B7zTkFqbK2USmDSKfwnvkfUMr5Tzf4YXyDGLOc0DRP5EgFnI/Fi5vlbestgNfKUTwdo0iDZKJ4iUNxIRzim/7vvXM+ZRZUSByxYVFBcmJmfCBRs/VQwZtwDeCvyYMB+JP34WPJbUZUUJEDW1eofxbq6pFedYigdEc9iOFdv1/Zg6UW4KtPiJFY0VA7fSph80iqittAL4ZyGruOAdJTxmTgTJ/AX9eki3lCv/irxLU0lroOKyAgSHjIQiUlgbf8E61P1arV9rD5X8bRElfSESakspnPhOQhyg+gnneZGRFSWCKvNUab2O3mCtycyYYrnwmLDQ6CymYRRYQCFRzCxwLdjYcqlHXiMHrRV8xCmJ6DRIIou2AhsZIirkI6LoUnAZxOmJFXQGDkh5ap+H0o+cDHY5wofQDDn1gGsWVL5YBkxuHIfi6fbWYbGbmDcQx7eX3r59y96YP7uFsKa3IIMSQa+36o16c/eV0GL3+WQoLSfYnhaG/wggE+LiYQuoZSblBo2Y48ZiyEScqyIfMRb6M2XILOoLaRpJnkeshDwI4aU02E0QObc8Zxa3sPJgbXq+QoT27pz3KPrMNh6Lv3gxlRLRI2/tpYzAI9hXgKI8WxYV4gIs8z+CJ5pcRzQMbgX4H4RZQmIv+NFWNhVWxMI8tmWAnggg5C/U+8/cF3+5hZ8KEwpRPo6F4aNcGA6Zyk6ZqkQBligqbn73f/dnLlU8qAhKmEQhVGQl+FC+2CAOFIjgLTS8T3tRO8krCGRnAgKIbyNvHMRYvBzFp6kSlvDEiIdwJ4gg1jxxozwLJaWcKyxWUgb/CbMBr2Jj4gdSBFFcMOI1FFgZO75Flda3bwrzirDO9UIwHhECKjnPjlsqeU2GMCs0QIExaG1CTn2wWKDGn/AdbISKE2UfBMgVly0JdQRRbknEggQ8AClWVFJxUznzYZEJz6aACgYVCl3s0GAYFOxFViQ+QptgfaOgYUHeeZj1b+3Gnamnju0tMkvjW3OtstH0Lu2zJje98dbo8sTYq8xeTrzhzGFv+7vvb70Bt7RG1fLGvN9zY7Nb37/67p7MVEZ6E9VqB9thza7ZWb02yupby7O2o/VzOpo2VrP5brbSXG7qLzHR63u720lW2pwd5LxNB4Hdm6Sv7BH27qgrfRza3Xli1gb+sDZek+4iXk0bkbEcJIaexuNW36G9cfjqF+/mu+1K66hEbyT/uqzmkd/SxoGhV92hN3EB45osJ3zoNTIja8TGcuIOtZhbXp2bLVUdrl+2pr4A+cj7kgCeTX99973fen4k+oSb/iQ0PM4t1gyN7iKxu9wj+iJb9HhqgM0mL40B8O9GrbvqaO3shtWwM9s0XmYZ0Nov2ridbs/kFLJXtQFfLSdbyx99a7Fn54yW8yDNeeuOM0PvqKD360qv8rdNLIBHHbaac6AxIl41y7t7HGoXfE7gFDIeDY1rhl7P6Rzke4O/pg9GZq7T7dm78hqvAz7e1Wfw35jVhyb4wAZdzullnB0P9BNEL/y3CauGvgtXmuPMa4sU/LQ2tWoKsRianuW8a2BLiEXQ43v6sIN14wB+94AvXun1+lur4RqeEZpdDn7B2C72Agyf7NTerS1vAXyNrKzDkW9Td019/m2mN/bGsi/6L+ALiAlrXZJV8BS+QJk+WRrcLOiTLud2d5EBrjN6id8DG4Zmjxd+qkIcSv5zehmfbkAsgY3QJtrdt6m/4KDvmrSaM3vZhBgdb81ls2pjHmfNNvhJtbw54I/a2660Lfy2ga/qmv4GYuDCB8VegOGTfU5x1S/rcOQr/D6zuos1yVJn7jUY+EYty/ocA3YItSgp1k5NDWqN/w64yvQyvwE25ILOc1vOa02+0gTwn9NL+C5iov7d1hcydvqdcRWwZiutEVu9Behf9/svY8y7zJimzlS8Pua2TZ0J+MXUOwmdgf8vfHDIxVM+5fYp623t8xwGDKrZXeyPNu1NoEbtIMeadQt8Zree4+G0+U6X8O2g3TkTfwD6LGqQo1H/xdhCTXlfLYEGa8xWdWCy6pxAjPRfqhBr7tbojR6HtUIm7gGxf7Zne5fa+kCQJdS7Zf+bDjY2tckWsJ7RJf5es7ryMGby2ND1hQv5k0GNUo/8+ji3K+eQE4d1Y1gX8lVtUtLzQHv/Nu92spW+E1iDiX4XL7o8NqbNAdidG7VB4ad0a9UWjHiLtd0+5uwe9vyroY/VNz5O8b/ldTA3uYH9zFtswH9QHwe4N/gG+kurcVrzBZbZciFgP9/y+ObXeDfxrLuA+gfxjbFXm4AuEB/dhQexDv5/hzrVQCxrqYeP/jjJOMTKSbf6l77+hKVdskcvr/9vXew/pViSz3MHe5+xmEA8zRv9Dd/DOm60+t+gJ+/GLTUdT9VsvE9ljyxyC2K3JKu9y4zleGtD/S3kOKDP3qxhrizmFOoM5ENiYBy2VTbXGp7ds12oM2xYxDn4V8U+CznCp+VeVu5df8bDmq7Zm2C/RUyDr3ooYBP9dV32b2uP548Qzi+NjVmcP9D+YMfNcP+SjmYrjNc/lXmw7z/DjOcg7GmGPjlbX+R2bjd9h/I3F/p8TeeFj/hiOoNzDWAWeU2pSxvDeWZgVaFG9ZqQK1VcNzez/jd55uqN7ocZ9pVJYOv9BGvYsNp0MR8g18VQ58lwAbL0+Xbe4+9Q2+ZQFwDHHG0D8jp7Y1rV4AySDtdQb2tf63aMvRwbN174BnsK0Q3oh4NjvBDdBl+MR1A/SrkzCA3NVa2seXi/mG82jb7nqnbvGfHDqdGC8xmcPf0i3qa5/7Duwj7Qe0fb2ZzPwdfj6eLdmR3oM8TEfbDF/p/vB73Qe7w3lvMY9EjNDHq6jv1vEq5qo63cf9NZQ2zvLbDvDJ9Zs7nSxtyqYf4WcovYPj6ru9AqchpyD87I44wsm7JWlmJiA7kEfYCnsh6w5vnzIQY2HWbJWjJW4Wzomb33B6tl+HZbyN+GrnpG7f3h4MuBt1NfswY3p5LHIcuRs5o2PQv75dIG2wjHgPNrv/NlTDggA3xtZ0UPg9hr5GeG5SgpZKcDz1Zf0+C7fK49y/0XXZf3u1UX6rYDPTOzumDLaXNrsOdfxml3H2HtYGtDzYW1br9rZHjOsaFukqzpQf90IA6rh76D9dVewrcHfDsYrWYKWKHHTmS/hDMOYLYc66Kn2HlPgT6JtuAq6Vb3Q/ApxEYNclH0oSf2ezacC1JnpfMNPCd98CGcOQTEgzxvgj0DjKOhPFdB78UzE34DvYyi7xnwLI956Ra+ldjhnLC35Bl5V+/3Tvbvdw9nM7BbJvXQ4Jwv97KlXSEHvYUHOb3vdxteea303TL3XclX0paA897UHh1TWzmF3uGplzZwrxCwaXBuCKGGg+xOanVPfd3K8ngbFj6GWnkeo+tjj/gU48B76hWzu/+AD9Yk4qXZSDHoxulIRK0gsm8PM28cpMEn9xzZ85mNR2OCE/nFYZRzd5huHSlSLohFNpyGScE5z+2GRj58eaPsfH6DIxcbJydMPFsxfM1XnuIoofA6zgd1H8y3icnzIRkRp+nRltG0FSR+XHlS8yfxuqURTkCKmV+Q+jwg9onpQLlgjA6f4QVnVU7x5Pf6ae2BcrE2JFF8YsKn148SqtwmnwhlHnlZQO2zmeSsev+kVp9U9UZVVUOq7jARA8qv+aoHvsMc+MCGvg7to3xNvVYfrrV7XKc9PNWKdYfxIqrnslAOOS3OKCL8cX4BY4EDb/aHCXNx75LzispPnDLnk6Poy5WnJQe2fJFHbUY+rfjvL3vyNT9/lvwnTiLwVuDksws6uukr2uvHBbFw1yXv0YtndITCfAs+ENDav/2KwS7vqopbjOMEX2SeGWCqtl4m4xvjZfzafgVydhjf10q3UIf7DCrgreXeKFOXYLxcXUwUcymKmTBuCznAC0Ia4XxcIYqQYzZJZb4fbAmmpCJotGUWVWKXxAr1MR2FEhUbgS2uFGGhQhCi8PtljsM3eadQCBIxixPpCByxCcQl3wg3SC0iqOLh9N9mICXkzCdRdpSOP+ClUP4N7ZzPG0/3GOLfc0wo0A9iHO3FcnjnUoXuAA7O/0r7E64EkVLcHlybsLWt4HhWsDiIGBWHtcfdrcDzEp/FDCeo0e9+Ybz/rQ2eUBZUM8azwhy4Kw9wWkkYRxjCI5x/NgPzwUspjmZxGEnjDHmLIbuSR5+cedJdDIhCqC02lAOKmAi8Cq4UTDv4J1F5xEG3W1Eg4B/s98EoRgXuj9pYVGoNngk5yRAkiz5jQlEOjRWoZDbUe1sxM8Ujm8Ps9RM/pqV5jLJ8wiot4OFjcPIcuiaSv/hhPltMThUA7lvoMc42ufVekggCmfhKC3zGBCboTcnMRI7c5Z4RxdG1tLv9CR3Oc083P79VqI+3eHnCFsPdY8RkmFwBTtTxJgAH+4RF9EamvOVenfqqrOC1vFIc264dMNkaocxVH+6r97eT2vtbvQa8KMkOMMfzVgfa+Pkd3p827spFI6ldq9Vr7XFW1Z7Uh6e7x0ODuOwG97IbaE8a/DUOTAQSJcPLijYRrglA7NIJ4LxRf9U6/kctIL+JPyvh522gvLBg/YlF94+f/wAAAP//AwCAJThDJCAAAA==
59
+ http_version:
60
+ recorded_at: Tue, 07 Dec 2021 11:05:59 GMT
61
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,61 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.datacite.org/dois/10.5281/zenodo.10164?include=media,client
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Mozilla/5.0 (compatible; Maremma/4.9.6; mailto:info@front-matter.io)
12
+ Accept:
13
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
+ Accept-Encoding:
15
+ - gzip,deflate
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Tue, 07 Dec 2021 11:17:12 GMT
23
+ Content-Type:
24
+ - application/json; charset=utf-8
25
+ Connection:
26
+ - keep-alive
27
+ Status:
28
+ - 200 OK
29
+ X-Anonymous-Consumer:
30
+ - 'true'
31
+ Cache-Control:
32
+ - max-age=0, private, must-revalidate
33
+ Vary:
34
+ - Accept-Encoding
35
+ Content-Encoding:
36
+ - gzip
37
+ Etag:
38
+ - W/"070d2decac0427635f0901582d71fbc5"
39
+ X-Runtime:
40
+ - '0.253152'
41
+ X-Request-Id:
42
+ - 7294dd2f-47d7-41c1-b27a-dcec91214345
43
+ X-Powered-By:
44
+ - Phusion Passenger(R) 6.0.12
45
+ Server:
46
+ - nginx/1.18.0 + Phusion Passenger(R) 6.0.12
47
+ Access-Control-Allow-Credentials:
48
+ - 'true'
49
+ Access-Control-Allow-Methods:
50
+ - GET, POST, PUT, PATCH, DELETE, OPTIONS
51
+ Access-Control-Allow-Headers:
52
+ - Accept,Access-Control-Allow-Origin,Access-Control-Expose-Headers,Access-Control-Allow-Methods,Access-Control-Allow-Headers,Authorization,Cache-Control,Content-Type,DNT,If-Modified-Since,Keep-Alive,Origin,User-Agent,X-Mx-ReqToken,X-Requested-With
53
+ Access-Control-Expose-Headers:
54
+ - Authorization
55
+ body:
56
+ encoding: ASCII-8BIT
57
+ string: !binary |-
58
+ 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
59
+ http_version:
60
+ recorded_at: Tue, 07 Dec 2021 11:17:12 GMT
61
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,61 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.datacite.org/dois/10.5281/zenodo.15497?include=media,client
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Mozilla/5.0 (compatible; Maremma/4.9.6; mailto:info@front-matter.io)
12
+ Accept:
13
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
+ Accept-Encoding:
15
+ - gzip,deflate
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: OK
20
+ headers:
21
+ Date:
22
+ - Tue, 07 Dec 2021 11:17:11 GMT
23
+ Content-Type:
24
+ - application/json; charset=utf-8
25
+ Connection:
26
+ - keep-alive
27
+ Status:
28
+ - 200 OK
29
+ X-Anonymous-Consumer:
30
+ - 'true'
31
+ Cache-Control:
32
+ - max-age=0, private, must-revalidate
33
+ Vary:
34
+ - Accept-Encoding
35
+ Content-Encoding:
36
+ - gzip
37
+ Etag:
38
+ - W/"1efc7894df6207f4acc17d2ba66e6d48"
39
+ X-Runtime:
40
+ - '0.809856'
41
+ X-Request-Id:
42
+ - 4055a210-ae16-4e1f-a15a-08331dd796e2
43
+ X-Powered-By:
44
+ - Phusion Passenger(R) 6.0.12
45
+ Server:
46
+ - nginx/1.18.0 + Phusion Passenger(R) 6.0.12
47
+ Access-Control-Allow-Credentials:
48
+ - 'true'
49
+ Access-Control-Allow-Methods:
50
+ - GET, POST, PUT, PATCH, DELETE, OPTIONS
51
+ Access-Control-Allow-Headers:
52
+ - Accept,Access-Control-Allow-Origin,Access-Control-Expose-Headers,Access-Control-Allow-Methods,Access-Control-Allow-Headers,Authorization,Cache-Control,Content-Type,DNT,If-Modified-Since,Keep-Alive,Origin,User-Agent,X-Mx-ReqToken,X-Requested-With
53
+ Access-Control-Expose-Headers:
54
+ - Authorization
55
+ body:
56
+ encoding: ASCII-8BIT
57
+ string: !binary |-
58
+ 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
59
+ http_version:
60
+ recorded_at: Tue, 07 Dec 2021 11:17:11 GMT
61
+ recorded_with: VCR 3.0.3
@@ -132,5 +132,37 @@ describe Briard::Metadata, vcr: true do
132
132
  "rightsUri"=>"http://www.apache.org/licenses/LICENSE-2.0",
133
133
  "schemeUri"=>"https://spdx.org/licenses/"}])
134
134
  end
135
+
136
+ it "ruby-cff repository url" do
137
+ input = "https://github.com/citation-file-format/ruby-cff"
138
+ subject = Briard::Metadata.new(input: input)
139
+ expect(subject.valid?).to be true
140
+ expect(subject.id).to eq("https://doi.org/10.5281/zenodo.1184077")
141
+ expect(subject.url).to eq("https://github.com/citation-file-format/ruby-cff")
142
+ expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"article-journal", "resourceTypeGeneral"=>"Software", "ris"=>"COMP", "schemaOrg"=>"SoftwareSourceCode")
143
+ expect(subject.creators).to eq([{"affiliation"=>[{"name"=>"The University of Manchester, UK"}], "familyName"=>"Haines", "givenName"=>"Robert", "name"=>"Haines, Robert", "nameIdentifiers"=>
144
+ [{"nameIdentifier"=>"https://orcid.org/0000-0002-9538-7919",
145
+ "nameIdentifierScheme"=>"ORCID",
146
+ "schemeUri"=>"https://orcid.org"}], "nameType"=>"Personal"}, {"name"=>"The Ruby Citation File Format Developers", "nameType"=>"Organizational"}])
147
+ expect(subject.titles).to eq([{"title"=>"Ruby CFF Library"}])
148
+ expect(subject.descriptions.first["description"]).to start_with("This library provides a Ruby interface to manipulate Citation File Format files")
149
+ expect(subject.subjects).to eq([{"subject"=>"ruby"},
150
+ {"subject"=>"credit"},
151
+ {"subject"=>"software citation"},
152
+ {"subject"=>"research software"},
153
+ {"subject"=>"software sustainability"},
154
+ {"subject"=>"metadata"},
155
+ {"subject"=>"citation file format"},
156
+ {"subject"=>"CFF"}])
157
+ expect(subject.version_info).to eq("0.9.0")
158
+ expect(subject.dates).to eq([{"date"=>"2021-08-18", "dateType"=>"Issued"}])
159
+ expect(subject.publication_year).to eq("2021")
160
+ expect(subject.publisher).to eq("GitHub")
161
+ expect(subject.rights_list).to eq([{"rights"=>"Apache License 2.0",
162
+ "rightsIdentifier"=>"apache-2.0",
163
+ "rightsIdentifierScheme"=>"SPDX",
164
+ "rightsUri"=>"http://www.apache.org/licenses/LICENSE-2.0",
165
+ "schemeUri"=>"https://spdx.org/licenses/"}])
166
+ end
135
167
  end
136
168
  end
@@ -1,45 +1,65 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # require 'spec_helper'
3
+ require 'spec_helper'
4
4
 
5
- # describe Briard::Metadata, vcr: true do
6
- # context "write metadata as codemeta" do
7
- # # it "SoftwareSourceCode DataCite JSON" do
8
- # # input = fixture_path + "datacite_software.json"
9
- # # subject = Briard::Metadata.new(input: input, from: "datacite_json")
10
- # # expect(subject.valid?).to be true
11
- # # json = JSON.parse(subject.codemeta)
12
- # # expect(json["@context"]).to eq("https://raw.githubusercontent.com/codemeta/codemeta/master/codemeta.jsonld")
13
- # # expect(json["@id"]).to eq("https://doi.org/10.5063/f1m61h5x")
14
- # # expect(json["@type"]).to eq("SoftwareSourceCode")
15
- # # expect(json["identifier"]).to eq("https://doi.org/10.5063/f1m61h5x")
16
- # # expect(json["agents"]).to eq("type"=>"Person", "name"=>"Matthew B. Jones", "givenName"=>"Matthew B.", "familyName"=>"Jones")
17
- # # expect(json["title"]).to eq("dataone: R interface to the DataONE network of data repositories")
18
- # # expect(json["datePublished"]).to eq("2016")
19
- # # expect(json["publisher"]).to eq("KNB Data Repository")
20
- # # end
5
+ describe Briard::Metadata, vcr: true do
6
+ context "write metadata as cff" do
7
+ it "SoftwareSourceCode Zenodo" do
8
+ input = "https://doi.org/10.5281/zenodo.10164"
9
+ subject = Briard::Metadata.new(input: input, from: "datacite")
10
+ expect(subject.valid?).to be true
11
+ json = Psych.safe_load(subject.cff, permitted_classes: [Date])
12
+ expect(json["doi"]).to eq("https://doi.org/10.5281/zenodo.10164")
13
+ expect(json["authors"]).to eq([{"affiliation"=>[{"name"=>"Juelich Supercomputing Centre, Jülich, Germany"}],
14
+ "familyName"=>"Klatt",
15
+ "givenName"=>"Torbjörn",
16
+ "name"=>"Klatt, Torbjörn"},
17
+ {"affiliation"=>[{"name"=>"Juelich Supercomputing Centre, Jülich, Germany"}],
18
+ "familyName"=>"Moser",
19
+ "givenName"=>"Dieter",
20
+ "name"=>"Moser, Dieter"},
21
+ {"affiliation"=>[{"name"=>"Juelich Supercomputing Centre, Jülich, Germany"}],
22
+ "familyName"=>"Speck",
23
+ "givenName"=>"Robert",
24
+ "name"=>"Speck, Robert"}])
25
+ expect(json["title"]).to eq("Pypint -- Python Framework For Parallel-In-Time Methods")
26
+ expect(json["abstract"]).to eq("<em>PyPinT</em> is a framework for Parallel-in-Time integration routines. The main purpose of <em>PyPinT</em> is to provide a framework for educational use and prototyping new parallel-in-time algorithms. As well it will aid in developing a high-performance C++ implementation for massively parallel computers providing the benefits of parallel-in-time routines to a zoo of time integrators in various applications.")
27
+ expect(json["date-released"]).to eq("2014-05-27")
28
+ expect(json["repository-code"]).to eq("https://zenodo.org/record/10164")
29
+ expect(json["keywords"]).to eq(["Parallel-in-Time Integration", "Spectral Deferred Corrections", "Multigrid", "Multi-Level Spectral Deferred Corrections", "Python Framework"])
30
+ expect(json["license"]).to eq(["http://www.opensource.org/licenses/MIT", "info:eu-repo/semantics/openAccess"])
31
+ end
21
32
 
22
- # it "SoftwareSourceCode DataCite" do
23
- # input = "https://doi.org/10.5063/f1m61h5x"
24
- # subject = Briard::Metadata.new(input: input, from: "datacite")
25
- # expect(subject.valid?).to be true
26
- # json = JSON.parse(subject.codemeta)
27
- # expect(json["@context"]).to eq("https://raw.githubusercontent.com/codemeta/codemeta/master/codemeta.jsonld")
28
- # expect(json["@id"]).to eq("https://doi.org/10.5063/f1m61h5x")
29
- # expect(json["@type"]).to eq("SoftwareSourceCode")
30
- # expect(json["authors"]).to eq([{"name"=>"Jones, Matthew B.; Slaughter, Peter; Nahf, Rob; Boettiger, Carl ; Jones, Chris; Read, Jordan; Walker, Lauren; Hart, Edmund; Chamberlain, Scott", "nameIdentifiers" => [], "affiliation" => []}])
31
- # expect(json["name"]).to eq("dataone: R interface to the DataONE network of data repositories")
32
- # expect(json["datePublished"]).to eq("2016")
33
- # expect(json["publisher"]).to eq("KNB Data Repository")
34
- # end
35
-
36
- # it "SoftwareSourceCode DataCite check codemeta v2" do
37
- # input = "https://doi.org/10.5063/f1m61h5x"
38
- # subject = Briard::Metadata.new(input: input, from: "datacite")
39
- # expect(subject.valid?).to be true
40
- # json = JSON.parse(subject.codemeta)
41
- # expect(json["agents"]).to be_nil
42
- # expect(json["title"]).to be_nil
43
- # end
44
- # end
45
- # end
33
+ it "SoftwareSourceCode also Zenodo" do
34
+ input = "https://doi.org/10.5281/zenodo.15497"
35
+ subject = Briard::Metadata.new(input: input, from: "datacite")
36
+ expect(subject.valid?).to be true
37
+ json = Psych.safe_load(subject.cff, permitted_classes: [Date])
38
+ expect(json["doi"]).to eq("https://doi.org/10.5281/zenodo.15497")
39
+ expect(json["authors"]).to eq([{"affiliation"=>
40
+ [{"name"=>
41
+ "Instituut voor Kern- en Stralingsfysica, KU Leuven, 3001 Leuven, België"}],
42
+ "familyName"=>"Gins",
43
+ "givenName"=>"Wouter",
44
+ "name"=>"Gins, Wouter"},
45
+ {"affiliation"=>
46
+ [{"name"=>
47
+ "Instituut voor Kern- en Stralingsfysica, KU Leuven, 3001 Leuven, België"}],
48
+ "familyName"=>"de Groote",
49
+ "givenName"=>"Ruben",
50
+ "name"=>"de Groote, Ruben"},
51
+ {"affiliation"=>
52
+ [{"name"=>
53
+ "Instituut voor Kern- en Stralingsfysica, KU Leuven, 3001 Leuven, België"}],
54
+ "familyName"=>"Heylen",
55
+ "givenName"=>"Hanne",
56
+ "name"=>"Heylen, Hanne"}])
57
+ expect(json["title"]).to eq("Satlas: Simulation And Analysis Toolbox For Laser Spectroscopy And Nmr Experiments")
58
+ expect(json["abstract"]).to eq("Initial release of the satlas Python package for the analysis and simulation for laser spectroscopy experiments. For the documentation, see http://woutergins.github.io/satlas/")
59
+ expect(json["date-released"]).to eq("2015-02-18")
60
+ expect(json["repository-code"]).to eq("https://zenodo.org/record/15497")
61
+ expect(json["keywords"]).to be_nil
62
+ expect(json["license"]).to eq(["http://www.opensource.org/licenses/MIT", "info:eu-repo/semantics/openAccess"])
63
+ end
64
+ end
65
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: briard
3
3
  version: !ruby/object:Gem::Version
4
- version: '2.1'
4
+ version: '2.2'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Fenner
@@ -968,6 +968,7 @@ files:
968
968
  - spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/cff-converter-python.yml
969
969
  - spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/pidgraph-notebooks-python.yml
970
970
  - spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/ruby-cff.yml
971
+ - spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/ruby-cff_repository_url.yml
971
972
  - spec/fixtures/vcr_cassettes/Briard_Metadata/get_codemeta_metadata/maremma.yml
972
973
  - spec/fixtures/vcr_cassettes/Briard_Metadata/get_codemeta_metadata/metadata_reports.yml
973
974
  - spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/DOI_with_ORCID_ID.yml
@@ -1211,6 +1212,9 @@ files:
1211
1212
  - spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/text.yml
1212
1213
  - spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/with_data_citation.yml
1213
1214
  - spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/with_pages.yml
1215
+ - spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_cff/SoftwareSourceCode_DataCite.yml
1216
+ - spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_cff/SoftwareSourceCode_Zenodo.yml
1217
+ - spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_cff/SoftwareSourceCode_also_Zenodo.yml
1214
1218
  - spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/Dataset.yml
1215
1219
  - spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/Journal_article.yml
1216
1220
  - spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/Journal_article_vancouver_style.yml