briard 2.0.2 → 2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.tool-versions +1 -0
- data/CHANGELOG.md +16 -0
- data/Gemfile.lock +1 -1
- data/README.md +7 -0
- data/lib/briard/metadata.rb +2 -2
- data/lib/briard/metadata_utils.rb +4 -0
- data/lib/briard/readers/cff_reader.rb +107 -0
- data/lib/briard/readers/crossref_reader.rb +3 -3
- data/lib/briard/utils.rb +21 -1
- data/lib/briard/version.rb +1 -1
- data/lib/briard/writers/cff_writer.rb +29 -0
- data/spec/find_from_format_spec.rb +16 -1
- data/spec/fixtures/CITATION.cff +83 -0
- data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/cff-converter-python.yml +75 -0
- data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/pidgraph-notebooks-python.yml +75 -0
- data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/ruby-cff.yml +75 -0
- data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_codemeta_metadata/maremma.yml +10 -10
- data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_codemeta_metadata/metadata_reports.yml +6 -6
- data/spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_as_cff_url.yml +65 -0
- data/spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_from_url_cff_file.yml +65 -0
- data/spec/metadata_spec.rb +1 -1
- data/spec/readers/cff_reader_spec.rb +136 -0
- data/spec/readers/codemeta_reader_spec.rb +1 -1
- data/spec/utils_spec.rb +12 -0
- data/spec/writers/cff_writer_spec.rb +45 -0
- metadata +13 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f0eaabf0817983f43847aef742367e1a768c3887931f69d093e7fd679523c6c8
|
4
|
+
data.tar.gz: 8179d2fc9aae83af0df2f2b0033752d348184d55548168e32ec013c7db57be0f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bdb837a28824c3a70d683a1d56bfd84a40b0334b742cd591020c64fa25cc45a64f429dfafe0309c1f0e6bf0387082e04308b16b9b6c93153c168d787e6ced763
|
7
|
+
data.tar.gz: 4a6e6d945558ca4b70a57d667e97c0994c1b25ea6f546f9f4caf5914052adaef41f3fc028757eb5cc647bc19f6d94ceedb951bdce75547853c8f02244781c27c
|
data/.tool-versions
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
ruby 2.7.5
|
data/CHANGELOG.md
CHANGED
@@ -1 +1,17 @@
|
|
1
1
|
# Changelog
|
2
|
+
|
3
|
+
## [2.0.2](https://github.com/front-matter/briard/tree/2.0.2) (2021-12-06)
|
4
|
+
|
5
|
+
[Full Changelog](https://github.com/front-matter/briard/compare/2.0.1...2.0.2)
|
6
|
+
|
7
|
+
## [2.0.1](https://github.com/front-matter/briard/tree/2.0.1) (2021-12-06)
|
8
|
+
|
9
|
+
[Full Changelog](https://github.com/front-matter/briard/compare/2.0...2.0.1)
|
10
|
+
|
11
|
+
## [2.0](https://github.com/front-matter/briard/tree/2.0) (2021-12-06)
|
12
|
+
|
13
|
+
[Full Changelog](https://github.com/front-matter/briard/compare/d1adb0353c9b3abd0b8f64fed5e0970cf03b537c...2.0)
|
14
|
+
|
15
|
+
|
16
|
+
|
17
|
+
\* *This Changelog was automatically generated by [github_changelog_generator](https://github.com/github-changelog-generator/github-changelog-generator)*
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -83,6 +83,13 @@ Briard reads and/or writes these metadata formats:
|
|
83
83
|
<td>Yes</td>
|
84
84
|
<td>Yes</td>
|
85
85
|
</tr>
|
86
|
+
<tr>
|
87
|
+
<td><a href='https://citation-file-format.github.io/'>CFF</a></td>
|
88
|
+
<td>citation file format (cff)</td>
|
89
|
+
<td>application/vnd.cff+yaml</td>
|
90
|
+
<td>Yes</td>
|
91
|
+
<td>No</td>
|
92
|
+
</tr>
|
86
93
|
<tr>
|
87
94
|
<td><a href='https://jats.nlm.nih.gov/'>JATS</a></td>
|
88
95
|
<td>jats</td>
|
data/lib/briard/metadata.rb
CHANGED
@@ -43,7 +43,7 @@ module Briard
|
|
43
43
|
elsif options[:input].present? && File.exist?(options[:input])
|
44
44
|
filename = File.basename(options[:input])
|
45
45
|
ext = File.extname(options[:input])
|
46
|
-
if %w(.bib .ris .xml .json).include?(ext)
|
46
|
+
if %w(.bib .ris .xml .json .cff).include?(ext)
|
47
47
|
hsh = {
|
48
48
|
"url" => options[:url],
|
49
49
|
"state" => options[:state],
|
@@ -83,7 +83,7 @@ module Briard
|
|
83
83
|
end
|
84
84
|
|
85
85
|
# make sure input is encoded as utf8
|
86
|
-
string = string.force_encoding("UTF-8") if string.present?
|
86
|
+
string = string.force_encoding("UTF-8") if string.present? && string.is_a?(String)
|
87
87
|
@string = string
|
88
88
|
|
89
89
|
# input options for citation formatting
|
@@ -8,6 +8,7 @@ require_relative 'utils'
|
|
8
8
|
|
9
9
|
require_relative 'readers/bibtex_reader'
|
10
10
|
require_relative 'readers/citeproc_reader'
|
11
|
+
require_relative 'readers/cff_reader'
|
11
12
|
require_relative 'readers/codemeta_reader'
|
12
13
|
require_relative 'readers/crosscite_reader'
|
13
14
|
require_relative 'readers/crossref_reader'
|
@@ -20,6 +21,7 @@ require_relative 'readers/schema_org_reader'
|
|
20
21
|
require_relative 'writers/bibtex_writer'
|
21
22
|
require_relative 'writers/citation_writer'
|
22
23
|
require_relative 'writers/citeproc_writer'
|
24
|
+
# require_relative 'writers/cff_writer'
|
23
25
|
require_relative 'writers/codemeta_writer'
|
24
26
|
require_relative 'writers/crosscite_writer'
|
25
27
|
require_relative 'writers/crossref_writer'
|
@@ -43,6 +45,7 @@ module Briard
|
|
43
45
|
|
44
46
|
include Briard::Readers::BibtexReader
|
45
47
|
include Briard::Readers::CiteprocReader
|
48
|
+
include Briard::Readers::CffReader
|
46
49
|
include Briard::Readers::CodemetaReader
|
47
50
|
include Briard::Readers::CrossciteReader
|
48
51
|
include Briard::Readers::CrossrefReader
|
@@ -55,6 +58,7 @@ module Briard
|
|
55
58
|
include Briard::Writers::BibtexWriter
|
56
59
|
include Briard::Writers::CitationWriter
|
57
60
|
include Briard::Writers::CiteprocWriter
|
61
|
+
# include Briard::Writers::CffWriter
|
58
62
|
include Briard::Writers::CodemetaWriter
|
59
63
|
include Briard::Writers::CrossciteWriter
|
60
64
|
include Briard::Writers::CrossrefWriter
|
@@ -0,0 +1,107 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Briard
|
4
|
+
module Readers
|
5
|
+
module CffReader
|
6
|
+
def get_cff(id: nil, **options)
|
7
|
+
return { "string" => nil, "state" => "not_found" } unless id.present?
|
8
|
+
id = normalize_id(id)
|
9
|
+
response = Maremma.get(github_as_cff_url(id), accept: "json", raw: true)
|
10
|
+
data = response.body.fetch("data", nil)
|
11
|
+
# Dates are parsed to date object, need to convert to iso8601 later
|
12
|
+
string = Psych.safe_load(data, permitted_classes: [Date])
|
13
|
+
{ "string" => string }
|
14
|
+
end
|
15
|
+
|
16
|
+
def read_cff(string: nil, **options)
|
17
|
+
read_options = ActiveSupport::HashWithIndifferentAccess.new(options.except(:doi, :id, :url, :sandbox, :validate, :ra))
|
18
|
+
meta = string.is_a?(String) ? Psych.safe_load(string, permitted_classes: [Date]) : string
|
19
|
+
|
20
|
+
identifiers = Array.wrap(meta.fetch("identifiers", nil)).map do |r|
|
21
|
+
r = normalize_id(r) if r.is_a?(String)
|
22
|
+
if r.is_a?(String) && !r.start_with?("https://doi.org")
|
23
|
+
{ "identifierType" => "URL", "identifier" => r }
|
24
|
+
elsif r.is_a?(Hash)
|
25
|
+
{ "identifierType" => get_identifier_type(r["propertyID"]), "identifier" => r["value"] }
|
26
|
+
end
|
27
|
+
end.compact.uniq
|
28
|
+
|
29
|
+
id = normalize_id(options[:doi] || meta.fetch("doi", nil) || Array.wrap(meta.fetch("identifiers", nil)).find { |i| i["type"] == "doi"}.fetch("value", nil))
|
30
|
+
url = normalize_id(meta.fetch("repository-code", nil))
|
31
|
+
creators = cff_creators(Array.wrap(meta.fetch("authors", nil)))
|
32
|
+
|
33
|
+
dates = []
|
34
|
+
dates << { "date" => meta.fetch("date-released", nil).iso8601, "dateType" => "Issued" } if meta.fetch("date-released", nil).present?
|
35
|
+
publication_year = meta.fetch("date-released").iso8601[0..3] if meta.fetch("date-released", nil).present?
|
36
|
+
publisher = url.to_s.starts_with?("https://github.com") ? "GitHub" : nil
|
37
|
+
state = meta.present? || read_options.present? ? "findable" : "not_found"
|
38
|
+
types = {
|
39
|
+
"resourceTypeGeneral" => "Software",
|
40
|
+
"resourceType" => nil,
|
41
|
+
"schemaOrg" => "SoftwareSourceCode",
|
42
|
+
"citeproc" => "article-journal",
|
43
|
+
"bibtex" => "misc",
|
44
|
+
"ris" => "COMP"
|
45
|
+
}.compact
|
46
|
+
subjects = Array.wrap(meta.fetch("keywords", nil)).reduce([]) do |sum, subject|
|
47
|
+
sum += name_to_fos(subject)
|
48
|
+
|
49
|
+
sum
|
50
|
+
end
|
51
|
+
|
52
|
+
titles = meta.fetch("title", nil).present? ? [{ "title" => meta.fetch("title", nil) }] : []
|
53
|
+
rights_list = meta.fetch("license", nil).present? ? [hsh_to_spdx("rightsIdentifier" => meta.fetch("license"))] : nil
|
54
|
+
|
55
|
+
{ "id" => id,
|
56
|
+
"types" => types,
|
57
|
+
"identifiers" => identifiers,
|
58
|
+
"doi" => doi_from_url(id),
|
59
|
+
"url" => url,
|
60
|
+
"titles" => titles,
|
61
|
+
"creators" => creators,
|
62
|
+
"publisher" => publisher,
|
63
|
+
"dates" => dates,
|
64
|
+
"publication_year" => publication_year,
|
65
|
+
"descriptions" => meta.fetch("abstract", nil).present? ? [{ "description" => sanitize(meta.fetch("abstract")), "descriptionType" => "Abstract" }] : nil,
|
66
|
+
"rights_list" => rights_list,
|
67
|
+
"version_info" => meta.fetch("version", nil),
|
68
|
+
"subjects" => subjects,
|
69
|
+
"state" => state
|
70
|
+
}.merge(read_options)
|
71
|
+
end
|
72
|
+
|
73
|
+
def cff_creators(creators)
|
74
|
+
Array.wrap(creators).map do |a|
|
75
|
+
name_identifiers = normalize_orcid(parse_attributes(a["orcid"])).present? ? [{ "nameIdentifier" => normalize_orcid(parse_attributes(a["orcid"])), "nameIdentifierScheme" => "ORCID", "schemeUri"=>"https://orcid.org" }] : nil
|
76
|
+
if a["given-names"].present? || name_identifiers.present?
|
77
|
+
given_name = parse_attributes(a["given-names"])
|
78
|
+
family_name = parse_attributes(a["family-names"])
|
79
|
+
affiliation = Array.wrap(a["affiliation"]).map do |a|
|
80
|
+
if a.is_a?(Hash)
|
81
|
+
a
|
82
|
+
elsif a.is_a?(Hash) && a.key?("__content__") && a["__content__"].strip.blank?
|
83
|
+
nil
|
84
|
+
elsif a.is_a?(Hash) && a.key?("__content__")
|
85
|
+
{ "name" => a["__content__"] }
|
86
|
+
elsif a.strip.blank?
|
87
|
+
nil
|
88
|
+
elsif a.is_a?(String)
|
89
|
+
{ "name" => a }
|
90
|
+
end
|
91
|
+
end.compact
|
92
|
+
|
93
|
+
{ "nameType" => "Personal",
|
94
|
+
"nameIdentifiers" => name_identifiers,
|
95
|
+
"name" => [family_name, given_name].compact.join(", "),
|
96
|
+
"givenName" => given_name,
|
97
|
+
"familyName" => family_name,
|
98
|
+
"affiliation" => affiliation.presence }.compact
|
99
|
+
else
|
100
|
+
{ "nameType" => "Organizational",
|
101
|
+
"name" => a["name"] || a["__content__"] }
|
102
|
+
end
|
103
|
+
end
|
104
|
+
end
|
105
|
+
end
|
106
|
+
end
|
107
|
+
end
|
@@ -264,12 +264,12 @@ module Briard
|
|
264
264
|
given_name = parse_attributes(a["given_name"])
|
265
265
|
family_name = parse_attributes(a["surname"])
|
266
266
|
affiliation = Array.wrap(a["affiliation"]).map do |a|
|
267
|
-
if a.is_a?(Hash)
|
267
|
+
if a.is_a?(Hash)
|
268
|
+
a
|
269
|
+
elsif a.is_a?(Hash) && a.key?("__content__") && a["__content__"].strip.blank?
|
268
270
|
nil
|
269
271
|
elsif a.is_a?(Hash) && a.key?("__content__")
|
270
272
|
{ "name" => a["__content__"] }
|
271
|
-
elsif a.is_a?(Hash)
|
272
|
-
a
|
273
273
|
elsif a.strip.blank?
|
274
274
|
nil
|
275
275
|
elsif a.is_a?(String)
|
data/lib/briard/utils.rb
CHANGED
@@ -506,7 +506,9 @@ 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\/(.+)\z/.match(id)
|
509
|
+
elsif /\A(http|https):\/(\/)?github\.com\/(.+)\/CITATION.cff\z/.match(id)
|
510
|
+
"cff"
|
511
|
+
elsif /\A(http|https):\/(\/)?github\.com\/(.+)\/codemeta.json\z/.match(id)
|
510
512
|
"codemeta"
|
511
513
|
else
|
512
514
|
"schema_org"
|
@@ -516,6 +518,8 @@ module Briard
|
|
516
518
|
def find_from_format_by_filename(filename)
|
517
519
|
if filename == "package.json"
|
518
520
|
"npm"
|
521
|
+
elsif filename == "CITATION.cff"
|
522
|
+
"cff"
|
519
523
|
end
|
520
524
|
end
|
521
525
|
|
@@ -528,6 +532,8 @@ module Briard
|
|
528
532
|
"crossref"
|
529
533
|
elsif options[:ext] == ".xml" && Nokogiri::XML(string, nil, 'UTF-8', &:noblanks).collect_namespaces.find { |k, v| v.start_with?("http://datacite.org/schema/kernel") }
|
530
534
|
"datacite"
|
535
|
+
elsif options[:ext] == ".cff"
|
536
|
+
"cff"
|
531
537
|
elsif options[:ext] == ".json" && Maremma.from_json(string).to_h.dig("@context").to_s.start_with?("http://schema.org", "https://schema.org")
|
532
538
|
"schema_org"
|
533
539
|
elsif options[:ext] == ".json" && Maremma.from_json(string).to_h.dig("@context") == ("https://raw.githubusercontent.com/codemeta/codemeta/master/codemeta.jsonld")
|
@@ -558,9 +564,13 @@ module Briard
|
|
558
564
|
"citeproc"
|
559
565
|
elsif string.start_with?("TY - ")
|
560
566
|
"ris"
|
567
|
+
elsif YAML.load(string).to_h.fetch("cff-version", nil).present?
|
568
|
+
"cff"
|
561
569
|
elsif BibTeX.parse(string).first
|
562
570
|
"bibtex"
|
563
571
|
end
|
572
|
+
rescue Psych::SyntaxError => error
|
573
|
+
"bibtex"
|
564
574
|
rescue BibTeX::ParseError => error
|
565
575
|
nil
|
566
576
|
end
|
@@ -1079,6 +1089,16 @@ module Briard
|
|
1079
1089
|
end
|
1080
1090
|
end
|
1081
1091
|
|
1092
|
+
def github_as_cff_url(url)
|
1093
|
+
github_hash = github_from_url(url)
|
1094
|
+
|
1095
|
+
if github_hash[:path].to_s.end_with?("CITATION.cff")
|
1096
|
+
"https://raw.githubusercontent.com/#{github_hash[:owner]}/#{github_hash[:repo]}/#{github_hash[:release]}/#{github_hash[:path]}"
|
1097
|
+
elsif github_hash[:owner].present?
|
1098
|
+
"https://raw.githubusercontent.com/#{github_hash[:owner]}/#{github_hash[:repo]}/main/CITATION.cff"
|
1099
|
+
end
|
1100
|
+
end
|
1101
|
+
|
1082
1102
|
def get_date_parts(iso8601_time)
|
1083
1103
|
return { 'date-parts' => [[]] } if iso8601_time.nil?
|
1084
1104
|
|
data/lib/briard/version.rb
CHANGED
@@ -0,0 +1,29 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# module Briard
|
4
|
+
# module Writers
|
5
|
+
# module CffWriter
|
6
|
+
# def cff
|
7
|
+
# return nil unless valid? || show_errors
|
8
|
+
|
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
|
@@ -39,8 +39,13 @@ describe Briard::CLI do
|
|
39
39
|
expect(subject.find_from_format_by_id(id)).to eq("op")
|
40
40
|
end
|
41
41
|
|
42
|
+
it "cff" do
|
43
|
+
id = "https://github.com/citation-file-format/ruby-cff/blob/main/CITATION.cff"
|
44
|
+
expect(subject.find_from_format_by_id(id)).to eq("cff")
|
45
|
+
end
|
46
|
+
|
42
47
|
it "codemeta" do
|
43
|
-
id = "https://github.com/datacite/maremma"
|
48
|
+
id = "https://github.com/datacite/maremma/blob/master/codemeta.json"
|
44
49
|
expect(subject.find_from_format_by_id(id)).to eq("codemeta")
|
45
50
|
end
|
46
51
|
|
@@ -64,6 +69,11 @@ describe Briard::CLI do
|
|
64
69
|
filename = "package.json"
|
65
70
|
expect(subject.find_from_format_by_filename(filename)).to eq("npm")
|
66
71
|
end
|
72
|
+
|
73
|
+
it "cff" do
|
74
|
+
filename = "CITATION.cff"
|
75
|
+
expect(subject.find_from_format_by_filename(filename)).to eq("cff")
|
76
|
+
end
|
67
77
|
end
|
68
78
|
|
69
79
|
context "find_from_format_by_string" do
|
@@ -91,6 +101,11 @@ describe Briard::CLI do
|
|
91
101
|
expect(subject.find_from_format_by_string(string)).to eq("codemeta")
|
92
102
|
end
|
93
103
|
|
104
|
+
it "cff" do
|
105
|
+
string = IO.read(fixture_path + 'CITATION.cff').strip
|
106
|
+
expect(subject.find_from_format_by_string(string)).to eq("cff")
|
107
|
+
end
|
108
|
+
|
94
109
|
it "schema_org" do
|
95
110
|
string = IO.read(fixture_path + 'schema_org_topmed.json').strip
|
96
111
|
expect(subject.find_from_format_by_string(string)).to eq("schema_org")
|
@@ -0,0 +1,83 @@
|
|
1
|
+
# This CITATION.cff file was created by ruby-cff (v 0.9.0).
|
2
|
+
# Gem: https://rubygems.org/gems/cff
|
3
|
+
# CFF: https://citation-file-format.github.io/
|
4
|
+
|
5
|
+
cff-version: 1.2.0
|
6
|
+
message: If you use ruby-cff in your work, please cite it using the following metadata
|
7
|
+
title: Ruby CFF Library
|
8
|
+
abstract: This library provides a Ruby interface to manipulate Citation File Format files
|
9
|
+
authors:
|
10
|
+
- family-names: Haines
|
11
|
+
given-names: Robert
|
12
|
+
orcid: https://orcid.org/0000-0002-9538-7919
|
13
|
+
affiliation: The University of Manchester, UK
|
14
|
+
- name: The Ruby Citation File Format Developers
|
15
|
+
keywords:
|
16
|
+
- ruby
|
17
|
+
- credit
|
18
|
+
- software citation
|
19
|
+
- research software
|
20
|
+
- software sustainability
|
21
|
+
- metadata
|
22
|
+
- citation file format
|
23
|
+
- CFF
|
24
|
+
version: 0.9.0
|
25
|
+
doi: 10.5281/zenodo.1184077
|
26
|
+
date-released: 2021-08-18
|
27
|
+
license: Apache-2.0
|
28
|
+
repository-artifact: https://rubygems.org/gems/cff
|
29
|
+
repository-code: https://github.com/citation-file-format/ruby-cff
|
30
|
+
references:
|
31
|
+
- type: software
|
32
|
+
title: Citation File Format
|
33
|
+
authors:
|
34
|
+
- family-names: Druskat
|
35
|
+
given-names: Stephan
|
36
|
+
orcid: https://orcid.org/0000-0003-4925-7248
|
37
|
+
- family-names: Spaaks
|
38
|
+
given-names: Jurriaan H.
|
39
|
+
orcid: https://orcid.org/0000-0002-7064-4069
|
40
|
+
- family-names: Chue Hong
|
41
|
+
given-names: Neil
|
42
|
+
orcid: https://orcid.org/0000-0002-8876-7606
|
43
|
+
- family-names: Haines
|
44
|
+
given-names: Robert
|
45
|
+
orcid: https://orcid.org/0000-0002-9538-7919
|
46
|
+
- family-names: Baker
|
47
|
+
given-names: James
|
48
|
+
orcid: https://orcid.org/0000-0002-2682-6922
|
49
|
+
- family-names: Bliven
|
50
|
+
given-names: Spencer
|
51
|
+
orcid: https://orcid.org/0000-0002-1200-1698
|
52
|
+
email: spencer.bliven@gmail.com
|
53
|
+
- family-names: Willighagen
|
54
|
+
given-names: Egon
|
55
|
+
orcid: https://orcid.org/0000-0001-7542-0286
|
56
|
+
- family-names: Pérez-Suárez
|
57
|
+
given-names: David
|
58
|
+
orcid: https://orcid.org/0000-0003-0784-6909
|
59
|
+
website: https://dpshelio.github.io
|
60
|
+
- family-names: Konovalov
|
61
|
+
given-names: Alexander
|
62
|
+
orcid: https://orcid.org/0000-0001-5299-3292
|
63
|
+
identifiers:
|
64
|
+
- type: doi
|
65
|
+
value: 10.5281/zenodo.1003149
|
66
|
+
description: The concept DOI for the collection containing all versions of the Citation File Format.
|
67
|
+
- type: doi
|
68
|
+
value: 10.5281/zenodo.5171937
|
69
|
+
description: The versioned DOI for the version 1.2.0 of the Citation File Format.
|
70
|
+
keywords:
|
71
|
+
- citation file format
|
72
|
+
- CFF
|
73
|
+
- citation files
|
74
|
+
- software citation
|
75
|
+
- file format
|
76
|
+
- YAML
|
77
|
+
- software sustainability
|
78
|
+
- research software
|
79
|
+
- credit
|
80
|
+
abstract: CITATION.cff files are plain text files with human- and machine-readable citation information for software. Code developers can include them in their repositories to let others know how to correctly cite their software. This is the specification for the Citation File Format.
|
81
|
+
date-released: 2021-08-09
|
82
|
+
license: CC-BY-4.0
|
83
|
+
version: 1.2.0
|
@@ -0,0 +1,75 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://raw.githubusercontent.com/citation-file-format/cff-converter-python/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
|
+
- '1212'
|
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/"481e62c88d87f88f330c3713aad93abd1a281b2967c7ad0cd91ccca939567e52"
|
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
|
+
- B098:F9B8:176B365:188E5A5:61AF23E8
|
43
|
+
Content-Encoding:
|
44
|
+
- gzip
|
45
|
+
Accept-Ranges:
|
46
|
+
- bytes
|
47
|
+
Date:
|
48
|
+
- Tue, 07 Dec 2021 09:05:45 GMT
|
49
|
+
Via:
|
50
|
+
- 1.1 varnish
|
51
|
+
X-Served-By:
|
52
|
+
- cache-hhn4043-HHN
|
53
|
+
X-Cache:
|
54
|
+
- MISS
|
55
|
+
X-Cache-Hits:
|
56
|
+
- '0'
|
57
|
+
X-Timer:
|
58
|
+
- S1638867945.967912,VS0,VE186
|
59
|
+
Vary:
|
60
|
+
- Authorization,Accept-Encoding,Origin
|
61
|
+
Access-Control-Allow-Origin:
|
62
|
+
- "*"
|
63
|
+
X-Fastly-Request-Id:
|
64
|
+
- 8209173bb874db42d9e8e382110b46303cc17b0a
|
65
|
+
Expires:
|
66
|
+
- Tue, 07 Dec 2021 09:10:45 GMT
|
67
|
+
Source-Age:
|
68
|
+
- '0'
|
69
|
+
body:
|
70
|
+
encoding: ASCII-8BIT
|
71
|
+
string: !binary |-
|
72
|
+
H4sIAAAAAAAAA62XXXLiOBDH3zmFDrAytsGAedgqQiabTDJJKjAftW/CbmMNtuSS5bDMefYme7FtyRBMgCmo4KpUsGR3/7rVav3NZqVWLNJDMpZ5zkRMMi6AFErOFcuJluSVZTxmGoiZjKR4BaXJ+G46mt49PTpRkpCEZ1A6LVbpVKpy2CKEEpbgKGeaSzEkj6BTUBkaKAlMIg4iAjIGoUHhw4QkLOfZigqWQzkkk4KxRWkn5vwVxGb8c6UUZ0yQW8dOShXxeEhSrYty2G7bW0eqedvFi+KfT/tur0u7bi/8KNN9xl7XEztMU5l/1PQ3UKkEtLlvfaIhYeLUYIOB71Hf7bn7RLdVPpNZrOlXgfZVyfV//2ryqyJXyMnFAaprVZULpg8yFempUB3aDf2A9v3uYB/qjWVFZEKeykwe4HgAKSIu9zm+syzmdT7NCC0rtP2PTb6WLSxLao0bR57jO27L1DBVkAErAaF9F7PlhtT3WzzGteEJh03x6lUBQxJLbs3jBqjw1nOdwB947V8gZCwdz+v5btC3T8RQRooXdVjPxm2p0STZGiaJVIRlGVlDlSZkhFzvp5O9BoHv9XtnedUpLzduj3qtVNb0ulnROddpNXMimbcjru26UbPbKRrOmW6bNK+NgaLFChuA2Gf7+vJgGgluCvIX17fVjCgoJC68VCuLeA5SsSq4rTFsUT8hsgzbl9953s4RDP559XzXWsBqKVW8XukZn2XctLoiXdmBKz6bwg/7E1+u/68jtzfNxlcPyBi+gGb25pOIH6UG+/vlblI/sH6d3GDiyI1NXCvjEYgSwxoVLEqBmgLFsi7ZHMfuErKSFalKqBevlIleMgV/kMJWryECwjU+wcXc5BXHcmTAEmdOa5tcyhQWgu3up6Sv8WKEUX2wDDTXGTSXoPW2ITFajFdBAsr0xs2RsT0/zHVmU91vHX8v2bpP7R8lTAhYwNuk7SCFyVZkmF/xkIkbdk9ovoOOH+Jx47qXov8OapHKzbGwF8FVY2Kf/hzyfuAOaMfv+5ciH4kYMnYEW1ZLOJ3Oo6HrBnQQdi+W1ytZHkZ7ZlrxaHFO6npup0PDnvvjYqnTGvIjqfvMy7Pg3LA7oB6eFhfLHFssGpMHdNBF3DTk334O3knAU0u8IQMvwnhfFQVKtkwfxrxmifhdczmH3e/1fOqFYfdS7N/gWE95kBX24/KsHdDxPCyy3uBSdC8yOwz36e2EPwnNw44c9Gm3G3Qul7imUN8DbIj1E5PXFOwXIbxGNXMM74ap6sz+MQhp6IcXa27TnxLVyj3PyYSJ+ZFVVvwsyEG3gyp+4NWQexLfG1C3T71aL7+T+XVMO3JxjN8aUGhy/XRndelvYkQxaVQOmUJeZExvd/uuijfXke+Hjuf2A88+1dSkNVYk5YJDVOltOlEX7/qiawZ7e0hQmvFTNN3jA0zG7Vq20R0naw13bh7qHGxka63iN9rPdbqOe1jv7ZbLl2gUS3nkuOG51FaxvzHeyqX5yBgbaTxZeyZckNHzCLfmKmuSzTJZ1x9+YwzJn3TtZJMaM+2wgpXmNVtwm5s2llTQdr12KpdUS2qEON3ESbmg+CCtX0t1nrX+B23vkxxeEQAA
|
73
|
+
http_version:
|
74
|
+
recorded_at: Tue, 07 Dec 2021 09:05:45 GMT
|
75
|
+
recorded_with: VCR 3.0.3
|
data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/pidgraph-notebooks-python.yml
ADDED
@@ -0,0 +1,75 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://raw.githubusercontent.com/datacite/pidgraph-notebooks-python/master/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
|
+
- '179'
|
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/"904897bb01e8a81799120f8fbea0b9eda07bef8124d684df22007d3de35a640c"
|
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
|
+
- A448:F9B8:1763958:18867D3:61AF22E7
|
43
|
+
Content-Encoding:
|
44
|
+
- gzip
|
45
|
+
Accept-Ranges:
|
46
|
+
- bytes
|
47
|
+
Date:
|
48
|
+
- Tue, 07 Dec 2021 09:01:27 GMT
|
49
|
+
Via:
|
50
|
+
- 1.1 varnish
|
51
|
+
X-Served-By:
|
52
|
+
- cache-hhn4076-HHN
|
53
|
+
X-Cache:
|
54
|
+
- MISS
|
55
|
+
X-Cache-Hits:
|
56
|
+
- '0'
|
57
|
+
X-Timer:
|
58
|
+
- S1638867687.247696,VS0,VE211
|
59
|
+
Vary:
|
60
|
+
- Authorization,Accept-Encoding,Origin
|
61
|
+
Access-Control-Allow-Origin:
|
62
|
+
- "*"
|
63
|
+
X-Fastly-Request-Id:
|
64
|
+
- a9a785c986684079c845062877d41c83fb8d2de6
|
65
|
+
Expires:
|
66
|
+
- Tue, 07 Dec 2021 09:06:27 GMT
|
67
|
+
Source-Age:
|
68
|
+
- '0'
|
69
|
+
body:
|
70
|
+
encoding: ASCII-8BIT
|
71
|
+
string: !binary |-
|
72
|
+
H4sIAAAAAAAAA1XNPQ+CMBCA4b2/4uJssSWghs3Ej+BgjJtjlas0oge9Q8K/l7i5vsP7qLv3+oORA70LsIlNjHohs3tgAbPSw0g99IwgdWBg8jK4iHNoG3RTvQdBCAKO4YYNDclMuV5qilyoisJ0NInNsjxb+K5b6mGVW/WnWSVBmsnaX3bXDZzLLRyia2s49u0oGOFEgjeiJ6vKCeqIP7gqIDWp0SbXZq2+JhyHJMUAAAA=
|
73
|
+
http_version:
|
74
|
+
recorded_at: Tue, 07 Dec 2021 09:01:27 GMT
|
75
|
+
recorded_with: VCR 3.0.3
|
@@ -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
|
+
- C714:7B77:A8AC40:B7D58E:61AEF275
|
43
|
+
Content-Encoding:
|
44
|
+
- gzip
|
45
|
+
Accept-Ranges:
|
46
|
+
- bytes
|
47
|
+
Date:
|
48
|
+
- Tue, 07 Dec 2021 06:17:45 GMT
|
49
|
+
Via:
|
50
|
+
- 1.1 varnish
|
51
|
+
X-Served-By:
|
52
|
+
- cache-hhn4053-HHN
|
53
|
+
X-Cache:
|
54
|
+
- HIT
|
55
|
+
X-Cache-Hits:
|
56
|
+
- '1'
|
57
|
+
X-Timer:
|
58
|
+
- S1638857865.889825,VS0,VE142
|
59
|
+
Vary:
|
60
|
+
- Authorization,Accept-Encoding,Origin
|
61
|
+
Access-Control-Allow-Origin:
|
62
|
+
- "*"
|
63
|
+
X-Fastly-Request-Id:
|
64
|
+
- d32f5353ed6e6b26f755bb5fe113ce76744a4289
|
65
|
+
Expires:
|
66
|
+
- Tue, 07 Dec 2021 06:22:45 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 06:17:45 GMT
|
75
|
+
recorded_with: VCR 3.0.3
|
@@ -39,37 +39,37 @@ http_interactions:
|
|
39
39
|
X-Xss-Protection:
|
40
40
|
- 1; mode=block
|
41
41
|
X-Github-Request-Id:
|
42
|
-
-
|
42
|
+
- BB8C:ADBA:C18769:D1A256:61AF2FAC
|
43
43
|
Content-Encoding:
|
44
44
|
- gzip
|
45
45
|
Accept-Ranges:
|
46
46
|
- bytes
|
47
47
|
Date:
|
48
|
-
-
|
48
|
+
- Tue, 07 Dec 2021 09:55:57 GMT
|
49
49
|
Via:
|
50
50
|
- 1.1 varnish
|
51
51
|
X-Served-By:
|
52
|
-
- cache-
|
52
|
+
- cache-hhn4028-HHN
|
53
53
|
X-Cache:
|
54
|
-
-
|
54
|
+
- MISS
|
55
55
|
X-Cache-Hits:
|
56
|
-
- '
|
56
|
+
- '0'
|
57
57
|
X-Timer:
|
58
|
-
-
|
58
|
+
- S1638870957.986688,VS0,VE198
|
59
59
|
Vary:
|
60
60
|
- Authorization,Accept-Encoding,Origin
|
61
61
|
Access-Control-Allow-Origin:
|
62
62
|
- "*"
|
63
63
|
X-Fastly-Request-Id:
|
64
|
-
-
|
64
|
+
- c27214d46fff8476101213373e276f2614a566d5
|
65
65
|
Expires:
|
66
|
-
-
|
66
|
+
- Tue, 07 Dec 2021 10:00:57 GMT
|
67
67
|
Source-Age:
|
68
|
-
- '
|
68
|
+
- '0'
|
69
69
|
body:
|
70
70
|
encoding: ASCII-8BIT
|
71
71
|
string: !binary |-
|
72
72
|
H4sIAAAAAAAAA41US27bMBBd26cgtI4kx07gIKs6iZumiNvUSYECRRe0OJLZUKQ6JKsIQQ7Qg/RiPUmHlO06QRcxIEPkzJvPmzd6HA6SN4XRDh5ccsqStXONPc1z5G1WSbf2K28Bo4N2WWHqvDACanD830vNrQPcnbPv1mglkoMQ2nUNhLi3pnQtR7g1Hgs4J9feLsV+VmFkZrDKD0fZ8dHkJP80vxylk8vFJDrzimqw5P84HDyDEtJgIUXEjuiX0jOhv+k0PZpOTgJ6r5YGkCrsLzWv492Co5OavQWtAXsTL0upJHeSfMnjgjt+Lh30xtpbdwbhHKpw6CFeS7vgUjt6KMqz+6Ws1s6+M0rsLMPBU2hLCmpLljLev5KKwPUSGmOlM9jt4/qhxUkJqrigCmlACHXNN0jt0CgF4g7qALSbyUQrQeAcgfdtJePR4XF6eJiOT3bWG79S0q539mk6Gqfjo519YUTo5b9msAXKZkvo0q865h1x7Dqm5Ao5dqw0yDS41uA9Q/jhwTqbsTNuQTBD8+HIBe8Y14LNH6iXA9ag+UkUWsZZi7yh4cYgXxbX+fvbjx9Yw9FKXUUIIJJpTa+KrjI2U4pZXxRgbekVJbSN0TbEQqCT86gpL7cEsWvWErXsHjoWiD1gnMAxoGWkHM5CttnNVVqiBErQvQD1rllkQtqZd6YONJ95qfYklChZAJVwFQlcXN1F/2ZDOr4UYuJ4FTbiaxBZ2ZPTCxQCOxuNg8uDPJLh4FvESKe2og+6OKXi4zD2h2Bl3ag4yd08CurY9vWgqZDXNZF4zXXlaTO3a7ldqBCwT/+T1m0z8j+/frNxNskmveXz8npfum3bZkiwVFHMIP5ksyEkSNFHfYXK85Uyq+03aTmfXSzmWS2S4dPwL3oe0obsBAAA
|
73
73
|
http_version:
|
74
|
-
recorded_at:
|
74
|
+
recorded_at: Tue, 07 Dec 2021 09:55:57 GMT
|
75
75
|
recorded_with: VCR 3.0.3
|
@@ -39,13 +39,13 @@ http_interactions:
|
|
39
39
|
X-Xss-Protection:
|
40
40
|
- 1; mode=block
|
41
41
|
X-Github-Request-Id:
|
42
|
-
-
|
42
|
+
- FECE:6BC0:17C5B98:18EBEC4:61AF2FAC
|
43
43
|
Content-Encoding:
|
44
44
|
- gzip
|
45
45
|
Accept-Ranges:
|
46
46
|
- bytes
|
47
47
|
Date:
|
48
|
-
-
|
48
|
+
- Tue, 07 Dec 2021 09:55:56 GMT
|
49
49
|
Via:
|
50
50
|
- 1.1 varnish
|
51
51
|
X-Served-By:
|
@@ -55,15 +55,15 @@ http_interactions:
|
|
55
55
|
X-Cache-Hits:
|
56
56
|
- '0'
|
57
57
|
X-Timer:
|
58
|
-
-
|
58
|
+
- S1638870957.503417,VS0,VE196
|
59
59
|
Vary:
|
60
60
|
- Authorization,Accept-Encoding,Origin
|
61
61
|
Access-Control-Allow-Origin:
|
62
62
|
- "*"
|
63
63
|
X-Fastly-Request-Id:
|
64
|
-
-
|
64
|
+
- 16b73682374b3b2b74b9be462d4349fd7e2618f0
|
65
65
|
Expires:
|
66
|
-
-
|
66
|
+
- Tue, 07 Dec 2021 10:00:56 GMT
|
67
67
|
Source-Age:
|
68
68
|
- '0'
|
69
69
|
body:
|
@@ -71,5 +71,5 @@ http_interactions:
|
|
71
71
|
string: !binary |-
|
72
72
|
H4sIAAAAAAAAA81UyW7bMBA9219B6BzJliVBdk7NgqJG47aw01PRAy2OZaYSKQypKm6Qf++Qipcuh/pQIARIiHqzvRnOPA0HwZtCKwuPNrhkwdbaxlyORsi7qJR2265bA+gFlI0KXY8KLaAGy48fNTcW8HCPHoxWlQgunGm7a8DZXemN7TjCSrdYwA2J9rgUp16FlpHGchSPoyxNpqMOx48hxLPUC/OSYjAk/2XIaD35k7HfjWgspPBmxrRC2gkdeR6meTIlQ3utfWgNIAV8BBSv/f8FRysVewtKAR7hujX2Gm6kBefVYgsHSJoFl8rSJoU/sKUst9a805U4oB58vjiTThxmsyQN82ySnUHnlisJFVtF7D23P14Tn0mYzLI8nKR5egafK9xoxVY1PdLXRCYOp3GShUk6nZ1B5o6jYeS9Zh+oSAbU/6RE51fXT1JQP8mN9PA/9qBr8iU02kircXeq108LPyIEt7yggEduHLhLiKSC1Lu9CWVRVxWIe6idBfMyGzxK4nCDwHu6wWQcT0PXwLMD+qldV9JsT/EsjPMDvtDCkforDKZA2VhJNXBPSPFqZ6RhesNuKUyXZHb7cW4YQindUAPBNhrZPsILtkb9DRQTulNsvWN4SAXjSjD9HZBZWUPk3Ulz1VpdOy7XrayO9RsElSxAGZj7KBfzey/fvDDDvl/7gDxiedkPvgGR0NL9G/ySt74yLt/BcOCra6Wt+sb/OGdLzwe5Y248pdVp0hvUJfK6lqq846psadKS5pMzu3+hy97L5+XdadG7roswJPUHKKx/NuT+efg8/AmLwCo5WAYAAA==
|
73
73
|
http_version:
|
74
|
-
recorded_at:
|
74
|
+
recorded_at: Tue, 07 Dec 2021 09:55:56 GMT
|
75
75
|
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,65 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.crossref.org/works/10.1101/097196/transform/application/vnd.crossref.unixsd+xml
|
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/xml;charset=utf-8
|
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 09:42:30 GMT
|
23
|
+
Content-Length:
|
24
|
+
- '3783'
|
25
|
+
Set-Cookie:
|
26
|
+
- AWSALB=5dlff35uylVfulpAChnfyuRqMsarg4ie2H/Fnl0cQAf8ztrJ3uqoS8lI87uSwExOS5zjLbU2purdZoT4MV4dahWbs8DB9d3WSrdog7CYZu7QiF++o05MkEMC8lCD;
|
27
|
+
Expires=Tue, 14 Dec 2021 09:42:30 GMT; Path=/, AWSALBCORS=5dlff35uylVfulpAChnfyuRqMsarg4ie2H/Fnl0cQAf8ztrJ3uqoS8lI87uSwExOS5zjLbU2purdZoT4MV4dahWbs8DB9d3WSrdog7CYZu7QiF++o05MkEMC8lCD;
|
28
|
+
Expires=Tue, 14 Dec 2021 09:42:30 GMT; Path=/; SameSite=None
|
29
|
+
Link:
|
30
|
+
- !binary |-
|
31
|
+
PGh0dHA6Ly9keC5kb2kub3JnLzEwLjExMDEvMDk3MTk2PjsgcmVsPSJjYW5vbmljYWwiLCA8aHR0cHM6Ly9zeW5kaWNhdGlvbi5oaWdod2lyZS5vcmcvY29udGVudC9kb2kvMTAuMTEwMS8wOTcxOTY+OyB2ZXJzaW9uPSJ2b3IiOyByZWw9Iml0ZW0iLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDMtMTQxOS0yNDA1PjsgdGl0bGU9Ik1hcnRpbiBGZW5uZXIiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xMzA0LTE5Mzk+OyB0aXRsZT0iTWVyY+ggQ3Jvc2FzIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtNTIxMi03MDUyPjsgdGl0bGU9IkplZmZyZXkgR3JldGhlIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItOTM3Ny0wNzk3PjsgdGl0bGU9IkRhdmlkIEtlbm5lZHkiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMS04NDc5LTAyNjI+OyB0aXRsZT0iSGVubmluZyBIZXJtamFrb2IiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMS05ODUzLTU2Njg+OyB0aXRsZT0iUGhpbGlwcGUgUm9jY2EtU2VycmEiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi0yMTg4LTI1NzA+OyB0aXRsZT0iR3VzdGF2byBEdXJhbmQiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi0xNzMxLTUzNDY+OyB0aXRsZT0iUm9iaW4gQmVyam9uIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtODI0OS03Mzg4PjsgdGl0bGU9IlNlYmFzdGlhbiBLYXJjaGVyIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItODQwNi0zODcxPjsgdGl0bGU9Ik1hcnlhbm4gTWFydG9uZSI7IHJlbD0iYXV0aG9yIiwgPGh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTQwNjAtNzM2MD47IHRpdGxlPSJUaW1vdGh5IENsYXJrIjsgcmVsPSJhdXRob3Ii
|
32
|
+
Access-Control-Expose-Headers:
|
33
|
+
- Link
|
34
|
+
Access-Control-Allow-Headers:
|
35
|
+
- X-Requested-With, Accept, Accept-Encoding, Accept-Charset, Accept-Language,
|
36
|
+
Accept-Ranges, Cache-Control
|
37
|
+
Access-Control-Allow-Origin:
|
38
|
+
- "*"
|
39
|
+
Vary:
|
40
|
+
- Accept-Encoding
|
41
|
+
Content-Encoding:
|
42
|
+
- gzip
|
43
|
+
Server:
|
44
|
+
- Jetty(9.4.40.v20210413)
|
45
|
+
X-Ratelimit-Limit:
|
46
|
+
- '50'
|
47
|
+
X-Ratelimit-Interval:
|
48
|
+
- 1s
|
49
|
+
X-Api-Pool:
|
50
|
+
- polite
|
51
|
+
X-Rate-Limit-Limit:
|
52
|
+
- '50'
|
53
|
+
X-Rate-Limit-Interval:
|
54
|
+
- 1s
|
55
|
+
Permissions-Policy:
|
56
|
+
- interest-cohort=()
|
57
|
+
Connection:
|
58
|
+
- close
|
59
|
+
body:
|
60
|
+
encoding: ASCII-8BIT
|
61
|
+
string: !binary |-
|
62
|
+
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
|
63
|
+
http_version:
|
64
|
+
recorded_at: Tue, 07 Dec 2021 09:42:31 GMT
|
65
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,65 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://api.crossref.org/works/10.1101/097196/transform/application/vnd.crossref.unixsd+xml
|
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/xml;charset=utf-8
|
14
|
+
Accept-Encoding:
|
15
|
+
- gzip,deflate
|
16
|
+
response:
|
17
|
+
status:
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
Date:
|
22
|
+
- Mon, 06 Dec 2021 20:43:57 GMT
|
23
|
+
Content-Length:
|
24
|
+
- '3783'
|
25
|
+
Set-Cookie:
|
26
|
+
- AWSALB=WyLNkMaOGwa8cf1D2U1Z3TbVQa/mHhRkBxvYTju/FCtAK/nKRvxxuYxWs7nwNUtxKGItYayjCqECwRwtzM/uWvO/hbn8HASduRvUg60rlgwHnO3AQv+V7pO63uG9;
|
27
|
+
Expires=Mon, 13 Dec 2021 20:43:56 GMT; Path=/, AWSALBCORS=WyLNkMaOGwa8cf1D2U1Z3TbVQa/mHhRkBxvYTju/FCtAK/nKRvxxuYxWs7nwNUtxKGItYayjCqECwRwtzM/uWvO/hbn8HASduRvUg60rlgwHnO3AQv+V7pO63uG9;
|
28
|
+
Expires=Mon, 13 Dec 2021 20:43:56 GMT; Path=/; SameSite=None
|
29
|
+
Link:
|
30
|
+
- !binary |-
|
31
|
+
PGh0dHA6Ly9keC5kb2kub3JnLzEwLjExMDEvMDk3MTk2PjsgcmVsPSJjYW5vbmljYWwiLCA8aHR0cHM6Ly9zeW5kaWNhdGlvbi5oaWdod2lyZS5vcmcvY29udGVudC9kb2kvMTAuMTEwMS8wOTcxOTY+OyB2ZXJzaW9uPSJ2b3IiOyByZWw9Iml0ZW0iLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDMtMTQxOS0yNDA1PjsgdGl0bGU9Ik1hcnRpbiBGZW5uZXIiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xMzA0LTE5Mzk+OyB0aXRsZT0iTWVyY+ggQ3Jvc2FzIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtNTIxMi03MDUyPjsgdGl0bGU9IkplZmZyZXkgR3JldGhlIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItOTM3Ny0wNzk3PjsgdGl0bGU9IkRhdmlkIEtlbm5lZHkiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMS04NDc5LTAyNjI+OyB0aXRsZT0iSGVubmluZyBIZXJtamFrb2IiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMS05ODUzLTU2Njg+OyB0aXRsZT0iUGhpbGlwcGUgUm9jY2EtU2VycmEiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi0yMTg4LTI1NzA+OyB0aXRsZT0iR3VzdGF2byBEdXJhbmQiOyByZWw9ImF1dGhvciIsIDxodHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi0xNzMxLTUzNDY+OyB0aXRsZT0iUm9iaW4gQmVyam9uIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtODI0OS03Mzg4PjsgdGl0bGU9IlNlYmFzdGlhbiBLYXJjaGVyIjsgcmVsPSJhdXRob3IiLCA8aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItODQwNi0zODcxPjsgdGl0bGU9Ik1hcnlhbm4gTWFydG9uZSI7IHJlbD0iYXV0aG9yIiwgPGh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTQwNjAtNzM2MD47IHRpdGxlPSJUaW1vdGh5IENsYXJrIjsgcmVsPSJhdXRob3Ii
|
32
|
+
Access-Control-Expose-Headers:
|
33
|
+
- Link
|
34
|
+
Access-Control-Allow-Headers:
|
35
|
+
- X-Requested-With, Accept, Accept-Encoding, Accept-Charset, Accept-Language,
|
36
|
+
Accept-Ranges, Cache-Control
|
37
|
+
Access-Control-Allow-Origin:
|
38
|
+
- "*"
|
39
|
+
Vary:
|
40
|
+
- Accept-Encoding
|
41
|
+
Content-Encoding:
|
42
|
+
- gzip
|
43
|
+
Server:
|
44
|
+
- Jetty(9.4.40.v20210413)
|
45
|
+
X-Ratelimit-Limit:
|
46
|
+
- '50'
|
47
|
+
X-Ratelimit-Interval:
|
48
|
+
- 1s
|
49
|
+
X-Api-Pool:
|
50
|
+
- polite
|
51
|
+
X-Rate-Limit-Limit:
|
52
|
+
- '50'
|
53
|
+
X-Rate-Limit-Interval:
|
54
|
+
- 1s
|
55
|
+
Permissions-Policy:
|
56
|
+
- interest-cohort=()
|
57
|
+
Connection:
|
58
|
+
- close
|
59
|
+
body:
|
60
|
+
encoding: ASCII-8BIT
|
61
|
+
string: !binary |-
|
62
|
+
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
|
63
|
+
http_version:
|
64
|
+
recorded_at: Mon, 06 Dec 2021 20:43:56 GMT
|
65
|
+
recorded_with: VCR 3.0.3
|
data/spec/metadata_spec.rb
CHANGED
@@ -0,0 +1,136 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe Briard::Metadata, vcr: true do
|
6
|
+
let(:input) { "https://github.com/citation-file-format/ruby-cff/blob/main/CITATION.cff" }
|
7
|
+
|
8
|
+
subject { Briard::Metadata.new(input: input) }
|
9
|
+
|
10
|
+
context "get cff metadata" do
|
11
|
+
it "ruby-cff" do
|
12
|
+
expect(subject.valid?).to be true
|
13
|
+
expect(subject.id).to eq("https://doi.org/10.5281/zenodo.1184077")
|
14
|
+
expect(subject.url).to eq("https://github.com/citation-file-format/ruby-cff")
|
15
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"article-journal", "resourceTypeGeneral"=>"Software", "ris"=>"COMP", "schemaOrg"=>"SoftwareSourceCode")
|
16
|
+
expect(subject.creators).to eq([{"affiliation"=>[{"name"=>"The University of Manchester, UK"}], "familyName"=>"Haines", "givenName"=>"Robert", "name"=>"Haines, Robert", "nameIdentifiers"=>
|
17
|
+
[{"nameIdentifier"=>"https://orcid.org/0000-0002-9538-7919",
|
18
|
+
"nameIdentifierScheme"=>"ORCID",
|
19
|
+
"schemeUri"=>"https://orcid.org"}], "nameType"=>"Personal"}, {"name"=>"The Ruby Citation File Format Developers", "nameType"=>"Organizational"}])
|
20
|
+
expect(subject.titles).to eq([{"title"=>"Ruby CFF Library"}])
|
21
|
+
expect(subject.descriptions.first["description"]).to start_with("This library provides a Ruby interface to manipulate Citation File Format files")
|
22
|
+
expect(subject.subjects).to eq([{"subject"=>"ruby"},
|
23
|
+
{"subject"=>"credit"},
|
24
|
+
{"subject"=>"software citation"},
|
25
|
+
{"subject"=>"research software"},
|
26
|
+
{"subject"=>"software sustainability"},
|
27
|
+
{"subject"=>"metadata"},
|
28
|
+
{"subject"=>"citation file format"},
|
29
|
+
{"subject"=>"CFF"}])
|
30
|
+
expect(subject.version_info).to eq("0.9.0")
|
31
|
+
expect(subject.dates).to eq([{"date"=>"2021-08-18", "dateType"=>"Issued"}])
|
32
|
+
expect(subject.publication_year).to eq("2021")
|
33
|
+
expect(subject.publisher).to eq("GitHub")
|
34
|
+
expect(subject.rights_list).to eq([{"rights"=>"Apache License 2.0",
|
35
|
+
"rightsIdentifier"=>"apache-2.0",
|
36
|
+
"rightsIdentifierScheme"=>"SPDX",
|
37
|
+
"rightsUri"=>"http://www.apache.org/licenses/LICENSE-2.0",
|
38
|
+
"schemeUri"=>"https://spdx.org/licenses/"}])
|
39
|
+
end
|
40
|
+
|
41
|
+
it "cff-converter-python" do
|
42
|
+
input = "https://github.com/citation-file-format/cff-converter-python/blob/main/CITATION.cff"
|
43
|
+
subject = Briard::Metadata.new(input: input)
|
44
|
+
expect(subject.id).to eq("https://doi.org/10.5281/zenodo.1162057")
|
45
|
+
expect(subject.url).to eq("https://github.com/citation-file-format/cff-converter-python")
|
46
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"article-journal", "resourceTypeGeneral"=>"Software", "ris"=>"COMP", "schemaOrg"=>"SoftwareSourceCode")
|
47
|
+
expect(subject.creators).to eq([{"affiliation"=>[{"name"=>"Netherlands eScience Center"}],
|
48
|
+
"familyName"=>"Spaaks",
|
49
|
+
"givenName"=>"Jurriaan H.",
|
50
|
+
"name"=>"Spaaks, Jurriaan H.",
|
51
|
+
"nameIdentifiers"=>
|
52
|
+
[{"nameIdentifier"=>"https://orcid.org/0000-0002-7064-4069",
|
53
|
+
"nameIdentifierScheme"=>"ORCID",
|
54
|
+
"schemeUri"=>"https://orcid.org"}],
|
55
|
+
"nameType"=>"Personal"},
|
56
|
+
{"affiliation"=>[{"name"=>"Netherlands eScience Center"}],
|
57
|
+
"familyName"=>"Klaver",
|
58
|
+
"givenName"=>"Tom",
|
59
|
+
"name"=>"Klaver, Tom",
|
60
|
+
"nameType"=>"Personal"},
|
61
|
+
{"affiliation"=>[{"name"=>"Netherlands eScience Center"}],
|
62
|
+
"familyName"=>"Verhoeven",
|
63
|
+
"givenName"=>"Stefan",
|
64
|
+
"name"=>"Verhoeven, Stefan",
|
65
|
+
"nameIdentifiers"=>
|
66
|
+
[{"nameIdentifier"=>"https://orcid.org/0000-0002-5821-2060",
|
67
|
+
"nameIdentifierScheme"=>"ORCID",
|
68
|
+
"schemeUri"=>"https://orcid.org"}],
|
69
|
+
"nameType"=>"Personal"},
|
70
|
+
{"affiliation"=>[{"name"=>"Humboldt-Universit??t zu Berlin"}],
|
71
|
+
"familyName"=>"Druskat",
|
72
|
+
"givenName"=>"Stephan",
|
73
|
+
"name"=>"Druskat, Stephan",
|
74
|
+
"nameIdentifiers"=>
|
75
|
+
[{"nameIdentifier"=>"https://orcid.org/0000-0003-4925-7248",
|
76
|
+
"nameIdentifierScheme"=>"ORCID",
|
77
|
+
"schemeUri"=>"https://orcid.org"}],
|
78
|
+
"nameType"=>"Personal"},
|
79
|
+
{"affiliation"=>[{"name"=>"University of Oslo"}],
|
80
|
+
"familyName"=>"Leoncio",
|
81
|
+
"givenName"=>"Waldir",
|
82
|
+
"name"=>"Leoncio, Waldir",
|
83
|
+
"nameType"=>"Personal"}])
|
84
|
+
expect(subject.titles).to eq([{"title"=>"cffconvert"}])
|
85
|
+
expect(subject.descriptions.first["description"]).to start_with("Command line program to validate and convert CITATION.cff files")
|
86
|
+
expect(subject.subjects).to eq([{"subject"=>"bibliography"},
|
87
|
+
{"subject"=>"BibTeX"},
|
88
|
+
{"subject"=>"cff"},
|
89
|
+
{"subject"=>"citation"},
|
90
|
+
{"subject"=>"CITATION.cff"},
|
91
|
+
{"subject"=>"CodeMeta"},
|
92
|
+
{"subject"=>"EndNote"},
|
93
|
+
{"subject"=>"RIS"},
|
94
|
+
{"subject"=>"Citation File Format"}])
|
95
|
+
expect(subject.version_info).to eq("2.0.0")
|
96
|
+
expect(subject.dates).to eq([{"date"=>"2021-09-22", "dateType"=>"Issued"}])
|
97
|
+
expect(subject.publication_year).to eq("2021")
|
98
|
+
expect(subject.publisher).to eq("GitHub")
|
99
|
+
expect(subject.rights_list).to eq([{"rights"=>"Apache License 2.0",
|
100
|
+
"rightsIdentifier"=>"apache-2.0",
|
101
|
+
"rightsIdentifierScheme"=>"SPDX",
|
102
|
+
"rightsUri"=>"http://www.apache.org/licenses/LICENSE-2.0",
|
103
|
+
"schemeUri"=>"https://spdx.org/licenses/"}])
|
104
|
+
end
|
105
|
+
|
106
|
+
it "ruby-cff" do
|
107
|
+
expect(subject.valid?).to be true
|
108
|
+
expect(subject.id).to eq("https://doi.org/10.5281/zenodo.1184077")
|
109
|
+
expect(subject.url).to eq("https://github.com/citation-file-format/ruby-cff")
|
110
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"article-journal", "resourceTypeGeneral"=>"Software", "ris"=>"COMP", "schemaOrg"=>"SoftwareSourceCode")
|
111
|
+
expect(subject.creators).to eq([{"affiliation"=>[{"name"=>"The University of Manchester, UK"}], "familyName"=>"Haines", "givenName"=>"Robert", "name"=>"Haines, Robert", "nameIdentifiers"=>
|
112
|
+
[{"nameIdentifier"=>"https://orcid.org/0000-0002-9538-7919",
|
113
|
+
"nameIdentifierScheme"=>"ORCID",
|
114
|
+
"schemeUri"=>"https://orcid.org"}], "nameType"=>"Personal"}, {"name"=>"The Ruby Citation File Format Developers", "nameType"=>"Organizational"}])
|
115
|
+
expect(subject.titles).to eq([{"title"=>"Ruby CFF Library"}])
|
116
|
+
expect(subject.descriptions.first["description"]).to start_with("This library provides a Ruby interface to manipulate Citation File Format files")
|
117
|
+
expect(subject.subjects).to eq([{"subject"=>"ruby"},
|
118
|
+
{"subject"=>"credit"},
|
119
|
+
{"subject"=>"software citation"},
|
120
|
+
{"subject"=>"research software"},
|
121
|
+
{"subject"=>"software sustainability"},
|
122
|
+
{"subject"=>"metadata"},
|
123
|
+
{"subject"=>"citation file format"},
|
124
|
+
{"subject"=>"CFF"}])
|
125
|
+
expect(subject.version_info).to eq("0.9.0")
|
126
|
+
expect(subject.dates).to eq([{"date"=>"2021-08-18", "dateType"=>"Issued"}])
|
127
|
+
expect(subject.publication_year).to eq("2021")
|
128
|
+
expect(subject.publisher).to eq("GitHub")
|
129
|
+
expect(subject.rights_list).to eq([{"rights"=>"Apache License 2.0",
|
130
|
+
"rightsIdentifier"=>"apache-2.0",
|
131
|
+
"rightsIdentifierScheme"=>"SPDX",
|
132
|
+
"rightsUri"=>"http://www.apache.org/licenses/LICENSE-2.0",
|
133
|
+
"schemeUri"=>"https://spdx.org/licenses/"}])
|
134
|
+
end
|
135
|
+
end
|
136
|
+
end
|
data/spec/utils_spec.rb
CHANGED
@@ -507,12 +507,24 @@ describe Briard::Metadata, vcr: true do
|
|
507
507
|
expect(response).to eq(:owner=>"datacite", :repo=>"metadata-reports", :release=>"master", :path=>"software/codemeta.json")
|
508
508
|
end
|
509
509
|
|
510
|
+
it "github_from_url cff file" do
|
511
|
+
url = "https://github.com/citation-file-format/ruby-cff/blob/main/CITATION.cff"
|
512
|
+
response = subject.github_from_url(url)
|
513
|
+
expect(response).to eq(:owner=>"citation-file-format", :path=>"CITATION.cff", :release=>"main", :repo=>"ruby-cff")
|
514
|
+
end
|
515
|
+
|
510
516
|
it "github_as_codemeta_url" do
|
511
517
|
url = "https://github.com/datacite/bolognese"
|
512
518
|
response = subject.github_as_codemeta_url(url)
|
513
519
|
expect(response).to eq("https://raw.githubusercontent.com/datacite/bolognese/master/codemeta.json")
|
514
520
|
end
|
515
521
|
|
522
|
+
it "github_as_cff_url" do
|
523
|
+
url = "https://github.com/citation-file-format/ruby-cff"
|
524
|
+
response = subject.github_as_cff_url(url)
|
525
|
+
expect(response).to eq("https://raw.githubusercontent.com/citation-file-format/ruby-cff/main/CITATION.cff")
|
526
|
+
end
|
527
|
+
|
516
528
|
it "github_from_url file" do
|
517
529
|
url = "https://github.com/datacite/metadata-reports/blob/master/software/codemeta.json"
|
518
530
|
response = subject.github_as_codemeta_url(url)
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# require 'spec_helper'
|
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
|
21
|
+
|
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
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: briard
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: '2.1'
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Fenner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-12-
|
11
|
+
date: 2021-12-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: maremma
|
@@ -599,6 +599,7 @@ files:
|
|
599
599
|
- ".github/workflows/release.yml"
|
600
600
|
- ".gitignore"
|
601
601
|
- ".rubocop.yml"
|
602
|
+
- ".tool-versions"
|
602
603
|
- CHANGELOG.md
|
603
604
|
- CITATION
|
604
605
|
- CITATION.cff
|
@@ -621,6 +622,7 @@ files:
|
|
621
622
|
- lib/briard/metadata_utils.rb
|
622
623
|
- lib/briard/pubmed.rb
|
623
624
|
- lib/briard/readers/bibtex_reader.rb
|
625
|
+
- lib/briard/readers/cff_reader.rb
|
624
626
|
- lib/briard/readers/citeproc_reader.rb
|
625
627
|
- lib/briard/readers/codemeta_reader.rb
|
626
628
|
- lib/briard/readers/crosscite_reader.rb
|
@@ -635,6 +637,7 @@ files:
|
|
635
637
|
- lib/briard/version.rb
|
636
638
|
- lib/briard/whitelist_scrubber.rb
|
637
639
|
- lib/briard/writers/bibtex_writer.rb
|
640
|
+
- lib/briard/writers/cff_writer.rb
|
638
641
|
- lib/briard/writers/citation_writer.rb
|
639
642
|
- lib/briard/writers/citeproc_writer.rb
|
640
643
|
- lib/briard/writers/codemeta_writer.rb
|
@@ -801,6 +804,7 @@ files:
|
|
801
804
|
- spec/datacite_utils_spec.rb
|
802
805
|
- spec/doi_utils_spec.rb
|
803
806
|
- spec/find_from_format_spec.rb
|
807
|
+
- spec/fixtures/CITATION.cff
|
804
808
|
- spec/fixtures/aida.json
|
805
809
|
- spec/fixtures/cgimp_package.json
|
806
810
|
- spec/fixtures/cit_package.json
|
@@ -961,6 +965,9 @@ files:
|
|
961
965
|
- spec/fixtures/vcr_cassettes/Briard_Metadata/from_schema_org/with_id.yml
|
962
966
|
- spec/fixtures/vcr_cassettes/Briard_Metadata/from_schema_org_creators/with_affiliation.yml
|
963
967
|
- spec/fixtures/vcr_cassettes/Briard_Metadata/from_schema_org_creators/without_affiliation.yml
|
968
|
+
- spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/cff-converter-python.yml
|
969
|
+
- spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/pidgraph-notebooks-python.yml
|
970
|
+
- spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/ruby-cff.yml
|
964
971
|
- spec/fixtures/vcr_cassettes/Briard_Metadata/get_codemeta_metadata/maremma.yml
|
965
972
|
- spec/fixtures/vcr_cassettes/Briard_Metadata/get_codemeta_metadata/metadata_reports.yml
|
966
973
|
- spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/DOI_with_ORCID_ID.yml
|
@@ -1076,8 +1083,10 @@ files:
|
|
1076
1083
|
- spec/fixtures/vcr_cassettes/Briard_Metadata/get_series_information/title_and_pages.yml
|
1077
1084
|
- spec/fixtures/vcr_cassettes/Briard_Metadata/get_series_information/title_volume_and_pages.yml
|
1078
1085
|
- spec/fixtures/vcr_cassettes/Briard_Metadata/get_series_information/title_volume_issue_and_pages.yml
|
1086
|
+
- spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_as_cff_url.yml
|
1079
1087
|
- spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_as_codemeta_url.yml
|
1080
1088
|
- spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_from_url.yml
|
1089
|
+
- spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_from_url_cff_file.yml
|
1081
1090
|
- spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_from_url_file.yml
|
1082
1091
|
- spec/fixtures/vcr_cassettes/Briard_Metadata/handle_input/DOI_RA_not_Crossref_or_DataCite.yml
|
1083
1092
|
- spec/fixtures/vcr_cassettes/Briard_Metadata/handle_input/unknown_DOI_prefix.yml
|
@@ -1298,6 +1307,7 @@ files:
|
|
1298
1307
|
- spec/fixtures/vivli.xml
|
1299
1308
|
- spec/metadata_spec.rb
|
1300
1309
|
- spec/readers/bibtex_reader_spec.rb
|
1310
|
+
- spec/readers/cff_reader_spec.rb
|
1301
1311
|
- spec/readers/citeproc_reader_spec.rb
|
1302
1312
|
- spec/readers/codemeta_reader_spec.rb
|
1303
1313
|
- spec/readers/crosscite_reader_spec.rb
|
@@ -1310,6 +1320,7 @@ files:
|
|
1310
1320
|
- spec/spec_helper.rb
|
1311
1321
|
- spec/utils_spec.rb
|
1312
1322
|
- spec/writers/bibtex_writer_spec.rb
|
1323
|
+
- spec/writers/cff_writer_spec.rb
|
1313
1324
|
- spec/writers/citation_writer_spec.rb
|
1314
1325
|
- spec/writers/citeproc_writer_spec.rb
|
1315
1326
|
- spec/writers/codemeta_writer_spec.rb
|