bolognese 1.8.4 → 1.8.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +8 -6
- data/bolognese.gemspec +1 -1
- data/lib/bolognese/readers/crossref_reader.rb +25 -9
- data/lib/bolognese/utils.rb +11 -5
- data/lib/bolognese/version.rb +1 -1
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dissertation.yml +122 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/peer_review.yml +96 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/report_osti.yml +138 -0
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/cc-by_3_0_us.yml +104 -0
- data/spec/readers/crossref_reader_spec.rb +70 -5
- data/spec/readers/datacite_reader_spec.rb +11 -0
- data/spec/writers/datacite_writer_spec.rb +3 -3
- metadata +8 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c4e322dfced96f2bfe6b19295c8da7a841305d7187e53b6318349efc22e07455
|
4
|
+
data.tar.gz: f37fc1533d5be911b87de1e25d19cc9c1cb6bbfaeef18cf05f41b66401a6ed87
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ac8fffc66a1babe967ed5aa4a82d594346a8df2233267b8638c0a1c0b8ae366b668bef192edc835bdb4d840e5bd9b859c9b6d2ca61cfc97c6c9df59db819a187
|
7
|
+
data.tar.gz: 3006b731e51da24c94f105bb7562d0af9107b88d611937b8d8762981dc3b5bc34376c9fbb24f877deb1a902efc64a758ba9c4f6fe5924c963c97cb1378d7bd63
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
bolognese (1.8.
|
4
|
+
bolognese (1.8.9)
|
5
5
|
activesupport (>= 4.2.5)
|
6
6
|
benchmark_methods (~> 0.7)
|
7
7
|
bibtex-ruby (>= 5.1.0)
|
@@ -25,7 +25,7 @@ PATH
|
|
25
25
|
postrank-uri (~> 1.0, >= 1.0.18)
|
26
26
|
rdf-rdfxml (~> 3.1)
|
27
27
|
rdf-turtle (~> 3.1)
|
28
|
-
thor (
|
28
|
+
thor (>= 0.19)
|
29
29
|
|
30
30
|
GEM
|
31
31
|
remote: https://rubygems.org/
|
@@ -41,6 +41,7 @@ GEM
|
|
41
41
|
benchmark_methods (0.7)
|
42
42
|
bibtex-ruby (5.1.4)
|
43
43
|
latex-decode (~> 0.0)
|
44
|
+
bigdecimal (2.0.0)
|
44
45
|
builder (3.2.4)
|
45
46
|
citeproc (1.0.10)
|
46
47
|
namae (~> 1.0)
|
@@ -48,7 +49,7 @@ GEM
|
|
48
49
|
citeproc (~> 1.0, >= 1.0.9)
|
49
50
|
csl (~> 1.5)
|
50
51
|
colorize (0.8.1)
|
51
|
-
concurrent-ruby (1.1.
|
52
|
+
concurrent-ruby (1.1.7)
|
52
53
|
crack (0.4.3)
|
53
54
|
safe_yaml (~> 1.0.0)
|
54
55
|
crass (1.0.6)
|
@@ -121,7 +122,8 @@ GEM
|
|
121
122
|
namae (1.0.1)
|
122
123
|
nokogiri (1.10.10)
|
123
124
|
mini_portile2 (~> 2.4.0)
|
124
|
-
oj (3.10.
|
125
|
+
oj (3.10.12)
|
126
|
+
bigdecimal (>= 1.0, < 3)
|
125
127
|
oj_mimic_json (1.0.1)
|
126
128
|
optimist (3.0.1)
|
127
129
|
postrank-uri (1.0.24)
|
@@ -133,7 +135,7 @@ GEM
|
|
133
135
|
rack-test (0.8.3)
|
134
136
|
rack (>= 1.0, < 3)
|
135
137
|
rake (12.3.3)
|
136
|
-
rdf (3.1.
|
138
|
+
rdf (3.1.5)
|
137
139
|
hamster (~> 3.0)
|
138
140
|
link_header (~> 0.0, >= 0.0.8)
|
139
141
|
rdf-aggregate-repo (3.1.0)
|
@@ -175,7 +177,7 @@ GEM
|
|
175
177
|
rspec (~> 3)
|
176
178
|
safe_yaml (1.0.5)
|
177
179
|
scanf (1.0.0)
|
178
|
-
simplecov (0.
|
180
|
+
simplecov (0.19.0)
|
179
181
|
docile (~> 1.1)
|
180
182
|
simplecov-html (~> 0.11)
|
181
183
|
simplecov-html (0.12.2)
|
data/bolognese.gemspec
CHANGED
@@ -23,7 +23,7 @@ Gem::Specification.new do |s|
|
|
23
23
|
s.add_dependency 'builder', '~> 3.2', '>= 3.2.2'
|
24
24
|
s.add_dependency 'activesupport', '>= 4.2.5'
|
25
25
|
s.add_dependency 'bibtex-ruby', '>= 5.1.0'
|
26
|
-
s.add_dependency 'thor', '
|
26
|
+
s.add_dependency 'thor', '>= 0.19'
|
27
27
|
s.add_dependency 'colorize', '~> 0.8.1'
|
28
28
|
s.add_dependency 'namae', '~> 1.0'
|
29
29
|
s.add_dependency 'edtf', '~> 3.0', '>= 3.0.4'
|
@@ -31,7 +31,7 @@ module Bolognese
|
|
31
31
|
end
|
32
32
|
|
33
33
|
# model should be one of book, conference, database, dissertation, journal, peer_review, posted_content,
|
34
|
-
#
|
34
|
+
# report_paper, sa_component, standard
|
35
35
|
model = meta.dig("crossref").to_h.keys.last
|
36
36
|
|
37
37
|
resource_type = nil
|
@@ -82,6 +82,13 @@ module Bolognese
|
|
82
82
|
when "database"
|
83
83
|
bibliographic_metadata = meta.dig("crossref", "database", "dataset").to_h
|
84
84
|
resource_type = "dataset"
|
85
|
+
when "report_paper"
|
86
|
+
bibliographic_metadata = meta.dig("crossref", "report_paper", "report_paper_metadata").to_h
|
87
|
+
resource_type = "report"
|
88
|
+
when "peer_review"
|
89
|
+
bibliographic_metadata = meta.dig("crossref", "peer_review")
|
90
|
+
when "dissertation"
|
91
|
+
bibliographic_metadata = meta.dig("crossref", "dissertation")
|
85
92
|
end
|
86
93
|
|
87
94
|
resource_type = (resource_type || model).to_s.underscore.camelcase.presence
|
@@ -156,7 +163,7 @@ module Bolognese
|
|
156
163
|
end
|
157
164
|
|
158
165
|
id = normalize_doi(options[:doi] || options[:id] || bibliographic_metadata.dig("doi_data", "doi"))
|
159
|
-
identifiers =
|
166
|
+
identifiers = crossref_alternate_identifiers(bibliographic_metadata)
|
160
167
|
|
161
168
|
{ "id" => id,
|
162
169
|
"types" => types,
|
@@ -187,14 +194,23 @@ module Bolognese
|
|
187
194
|
|
188
195
|
def crossref_alternate_identifiers(bibliographic_metadata)
|
189
196
|
if bibliographic_metadata.dig("publisher_item", "item_number").present?
|
190
|
-
|
191
|
-
|
197
|
+
Array.wrap(bibliographic_metadata.dig("publisher_item", "item_number")).map do |item|
|
198
|
+
if item.is_a?(String)
|
199
|
+
{ "identifier" => item,
|
200
|
+
"identifierType" => "Publisher ID" }
|
201
|
+
else
|
202
|
+
{ "identifier" => item.fetch("__content__", nil),
|
203
|
+
"identifierType" => item.fetch("item_number_type", nil) || "Publisher ID" }
|
204
|
+
end
|
205
|
+
end
|
192
206
|
elsif parse_attributes(bibliographic_metadata.fetch("item_number", nil)).present?
|
193
|
-
{ "identifier" => parse_attributes(bibliographic_metadata.fetch("item_number", nil)),
|
194
|
-
"identifierType" => "Publisher ID" }
|
207
|
+
[{ "identifier" => parse_attributes(bibliographic_metadata.fetch("item_number", nil)),
|
208
|
+
"identifierType" => "Publisher ID" }]
|
195
209
|
elsif parse_attributes(bibliographic_metadata.fetch("isbn", nil)).present?
|
196
|
-
{ "identifier" => parse_attributes(bibliographic_metadata.fetch("isbn", nil), first: true),
|
197
|
-
|
210
|
+
[{ "identifier" => parse_attributes(bibliographic_metadata.fetch("isbn", nil), first: true),
|
211
|
+
"identifierType" => "ISBN" }]
|
212
|
+
else
|
213
|
+
[]
|
198
214
|
end
|
199
215
|
end
|
200
216
|
|
@@ -222,7 +238,7 @@ module Bolognese
|
|
222
238
|
end
|
223
239
|
|
224
240
|
def crossref_people(bibliographic_metadata, contributor_role)
|
225
|
-
person = bibliographic_metadata.dig("contributors", "person_name")
|
241
|
+
person = bibliographic_metadata.dig("contributors", "person_name") || bibliographic_metadata.dig("person_name")
|
226
242
|
organization = Array.wrap(bibliographic_metadata.dig("contributors", "organization"))
|
227
243
|
person = [{ "name" => ":(unav)", "contributor_role"=>"author" }] if contributor_role == "author" && Array.wrap(person).select { |a| a["contributor_role"] == "author" }.blank? && Array.wrap(organization).select { |a| a["contributor_role"] == "author" }.blank?
|
228
244
|
|
data/lib/bolognese/utils.rb
CHANGED
@@ -7,6 +7,7 @@ module Bolognese
|
|
7
7
|
"https://creativecommons.org/licenses/by/2.0" => "https://creativecommons.org/licenses/by/2.0/legalcode",
|
8
8
|
"https://creativecommons.org/licenses/by/2.5" => "https://creativecommons.org/licenses/by/2.5/legalcode",
|
9
9
|
"https://creativecommons.org/licenses/by/3.0" => "https://creativecommons.org/licenses/by/3.0/legalcode",
|
10
|
+
"https://creativecommons.org/licenses/by/3.0/us" => "https://creativecommons.org/licenses/by/3.0/legalcode",
|
10
11
|
"https://creativecommons.org/licenses/by/4.0" => "https://creativecommons.org/licenses/by/4.0/legalcode",
|
11
12
|
"https://creativecommons.org/licenses/by-nc/1.0" => "https://creativecommons.org/licenses/by-nc/1.0/legalcode",
|
12
13
|
"https://creativecommons.org/licenses/by-nc/2.0" => "https://creativecommons.org/licenses/by-nc/2.0/legalcode",
|
@@ -117,7 +118,7 @@ module Bolognese
|
|
117
118
|
"EditedBook" => "Book",
|
118
119
|
"JournalArticle" => "ScholarlyArticle",
|
119
120
|
"Journal" => nil,
|
120
|
-
"Report" =>
|
121
|
+
"Report" => "Report",
|
121
122
|
"BookSeries" => nil,
|
122
123
|
"ReportSeries" => nil,
|
123
124
|
"BookTrack" => nil,
|
@@ -132,7 +133,8 @@ module Bolognese
|
|
132
133
|
"ReferenceEntry" => nil,
|
133
134
|
"JournalVolume" => "PublicationVolume",
|
134
135
|
"BookSet" => nil,
|
135
|
-
"PostedContent" => "ScholarlyArticle"
|
136
|
+
"PostedContent" => "ScholarlyArticle",
|
137
|
+
"PeerReview" => "Review"
|
136
138
|
}
|
137
139
|
|
138
140
|
CR_TO_BIB_TRANSLATIONS = {
|
@@ -146,7 +148,7 @@ module Bolognese
|
|
146
148
|
"EditedBook" => "book",
|
147
149
|
"JournalArticle" => "article",
|
148
150
|
"Journal" => nil,
|
149
|
-
"Report" =>
|
151
|
+
"Report" => "techreport",
|
150
152
|
"BookSeries" => nil,
|
151
153
|
"ReportSeries" => nil,
|
152
154
|
"BookTrack" => nil,
|
@@ -214,9 +216,11 @@ module Bolognese
|
|
214
216
|
"ImageObject" => "Image",
|
215
217
|
"Movie" => "Audiovisual",
|
216
218
|
"PublicationIssue" => "Text",
|
219
|
+
"Report" => "Text",
|
217
220
|
"ScholarlyArticle" => "Text",
|
218
221
|
"Thesis" => "Text",
|
219
222
|
"Service" => "Service",
|
223
|
+
"Review" => "Text",
|
220
224
|
"SoftwareSourceCode" => "Software",
|
221
225
|
"VideoObject" => "Audiovisual",
|
222
226
|
"WebPage" => "Text",
|
@@ -258,6 +262,7 @@ module Bolognese
|
|
258
262
|
"ImageObject" => "graphic",
|
259
263
|
"Movie" => "motion_picture",
|
260
264
|
"PublicationIssue" => nil,
|
265
|
+
"Report" => "report",
|
261
266
|
"ScholarlyArticle" => "article-journal",
|
262
267
|
"Service" => nil,
|
263
268
|
"Thesis" => "thesis",
|
@@ -278,6 +283,7 @@ module Bolognese
|
|
278
283
|
"Event" => nil,
|
279
284
|
"ImageObject" => "FIGURE",
|
280
285
|
"Movie" => "MPCT",
|
286
|
+
"Report" => "RPRT",
|
281
287
|
"PublicationIssue" => nil,
|
282
288
|
"ScholarlyArticle" => "JOUR",
|
283
289
|
"Service" => nil,
|
@@ -298,11 +304,11 @@ module Bolognese
|
|
298
304
|
"EditedBook" => "BOOK",
|
299
305
|
"JournalArticle" => "JOUR",
|
300
306
|
"Journal" => nil,
|
301
|
-
"Report" =>
|
307
|
+
"Report" => "RPRT",
|
302
308
|
"BookSeries" => nil,
|
303
309
|
"ReportSeries" => nil,
|
304
310
|
"BookTrack" => nil,
|
305
|
-
"Standard" =>
|
311
|
+
"Standard" => "STAND",
|
306
312
|
"BookSection" => "CHAP",
|
307
313
|
"BookPart" => "CHAP",
|
308
314
|
"Book" => "BOOK",
|
data/lib/bolognese/version.rb
CHANGED
@@ -0,0 +1,122 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://doi.org/ra/10.14264
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Mozilla/5.0 (compatible; Maremma/4.7.1; mailto:info@datacite.org)
|
12
|
+
Accept:
|
13
|
+
- text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: ''
|
18
|
+
headers:
|
19
|
+
Date:
|
20
|
+
- Sat, 22 Aug 2020 09:37:48 GMT
|
21
|
+
Content-Type:
|
22
|
+
- application/json;charset=UTF-8
|
23
|
+
Connection:
|
24
|
+
- keep-alive
|
25
|
+
Set-Cookie:
|
26
|
+
- __cfduid=dd2a5efda710f4da2c27722ecdb7d162d1598089068; expires=Mon, 21-Sep-20
|
27
|
+
09:37:48 GMT; path=/; domain=.doi.org; HttpOnly; SameSite=Lax; Secure
|
28
|
+
Cf-Cache-Status:
|
29
|
+
- DYNAMIC
|
30
|
+
Cf-Request-Id:
|
31
|
+
- 04b72118d7000064a35e821200000001
|
32
|
+
Expect-Ct:
|
33
|
+
- max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
|
34
|
+
Strict-Transport-Security:
|
35
|
+
- max-age=31536000; includeSubDomains; preload
|
36
|
+
Server:
|
37
|
+
- cloudflare
|
38
|
+
Cf-Ray:
|
39
|
+
- 5c6b9e07ba4164a3-FRA
|
40
|
+
body:
|
41
|
+
encoding: ASCII-8BIT
|
42
|
+
string: |-
|
43
|
+
[
|
44
|
+
{
|
45
|
+
"DOI": "10.14264",
|
46
|
+
"RA": "Crossref"
|
47
|
+
}
|
48
|
+
]
|
49
|
+
http_version:
|
50
|
+
recorded_at: Sat, 22 Aug 2020 09:37:48 GMT
|
51
|
+
- request:
|
52
|
+
method: get
|
53
|
+
uri: https://api.crossref.org/works/10.14264/uql.2020.791/transform/application/vnd.crossref.unixsd+xml
|
54
|
+
body:
|
55
|
+
encoding: US-ASCII
|
56
|
+
string: ''
|
57
|
+
headers:
|
58
|
+
User-Agent:
|
59
|
+
- Mozilla/5.0 (compatible; Maremma/4.7.1; mailto:info@datacite.org)
|
60
|
+
Accept:
|
61
|
+
- text/xml
|
62
|
+
response:
|
63
|
+
status:
|
64
|
+
code: 200
|
65
|
+
message: OK
|
66
|
+
headers:
|
67
|
+
Link:
|
68
|
+
- <http://dx.doi.org/10.14264/uql.2020.791>; rel="canonical", <http://orcid.org/0000-0003-3086-4443>;
|
69
|
+
title="Patricia Maree Collingwood"; rel="author"
|
70
|
+
Access-Control-Allow-Origin:
|
71
|
+
- "*"
|
72
|
+
Access-Control-Allow-Headers:
|
73
|
+
- X-Requested-With
|
74
|
+
Content-Length:
|
75
|
+
- '2769'
|
76
|
+
Server:
|
77
|
+
- http-kit
|
78
|
+
Date:
|
79
|
+
- Sat, 22 Aug 2020 09:37:49 GMT
|
80
|
+
X-Rate-Limit-Limit:
|
81
|
+
- '50'
|
82
|
+
X-Rate-Limit-Interval:
|
83
|
+
- 1s
|
84
|
+
Connection:
|
85
|
+
- close
|
86
|
+
body:
|
87
|
+
encoding: ASCII-8BIT
|
88
|
+
string: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<crossref_result xmlns=\"http://www.crossref.org/qrschema/3.0\"
|
89
|
+
version=\"3.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.crossref.org/qrschema/3.0
|
90
|
+
http://www.crossref.org/schemas/crossref_query_output3.0.xsd\">\r\n <query_result>\r\n
|
91
|
+
\ <head>\r\n <doi_batch_id>none</doi_batch_id>\r\n </head>\r\n <body>\r\n
|
92
|
+
\ <query status=\"resolved\">\r\n <doi type=\"dissertation\">10.14264/uql.2020.791</doi>\r\n
|
93
|
+
\ <crm-item name=\"publisher-name\" type=\"string\">University of Queensland
|
94
|
+
Library</crm-item>\r\n <crm-item name=\"prefix-name\" type=\"string\">University
|
95
|
+
of Queensland Library</crm-item>\r\n <crm-item name=\"member-id\" type=\"number\">5387</crm-item>\r\n
|
96
|
+
\ <crm-item name=\"citation-id\" type=\"number\">116937436</crm-item>\r\n
|
97
|
+
\ <crm-item name=\"book-id\" type=\"number\">1346666</crm-item>\r\n
|
98
|
+
\ <crm-item name=\"deposit-timestamp\" type=\"number\">1591592933</crm-item>\r\n
|
99
|
+
\ <crm-item name=\"owner-prefix\" type=\"string\">10.14264</crm-item>\r\n
|
100
|
+
\ <crm-item name=\"last-update\" type=\"date\">2020-06-08T05:08:59Z</crm-item>\r\n
|
101
|
+
\ <crm-item name=\"created\" type=\"date\">2020-06-08T05:08:58Z</crm-item>\r\n
|
102
|
+
\ <crm-item name=\"citedby-count\" type=\"number\">0</crm-item>\r\n
|
103
|
+
\ <doi_record>\r\n <crossref xmlns=\"http://www.crossref.org/xschema/1.1\"
|
104
|
+
xsi:schemaLocation=\"http://www.crossref.org/xschema/1.1 http://doi.crossref.org/schemas/unixref1.1.xsd\">\r\n
|
105
|
+
\ <dissertation>\r\n <person_name sequence=\"first\"
|
106
|
+
contributor_role=\"author\">\r\n <given_name>Patricia Maree</given_name>\r\n
|
107
|
+
\ <surname>Collingwood</surname>\r\n <ORCID authenticated=\"true\">https://orcid.org/0000-0003-3086-4443</ORCID>\r\n
|
108
|
+
\ </person_name>\r\n <titles>\r\n <title>School
|
109
|
+
truancy and financial independence during emerging adulthood: a longitudinal
|
110
|
+
analysis of receipt of and reliance on cash transfers</title>\r\n </titles>\r\n
|
111
|
+
\ <approval_date>\r\n <month>05</month>\r\n <day>25</day>\r\n
|
112
|
+
\ <year>2020</year>\r\n </approval_date>\r\n <institution>\r\n
|
113
|
+
\ <institution_name>The University of Queensland</institution_name>\r\n
|
114
|
+
\ <institution_department>School of Social Science</institution_department>\r\n
|
115
|
+
\ </institution>\r\n <degree>PhD Thesis</degree>\r\n
|
116
|
+
\ <doi_data>\r\n <doi>10.14264/uql.2020.791</doi>\r\n
|
117
|
+
\ <resource>http://espace.library.uq.edu.au/view/UQ:23a1e74</resource>\r\n
|
118
|
+
\ </doi_data>\r\n </dissertation>\r\n </crossref>\r\n
|
119
|
+
\ </doi_record>\r\n </query>\r\n </body>\r\n </query_result>\r\n</crossref_result>"
|
120
|
+
http_version:
|
121
|
+
recorded_at: Sat, 22 Aug 2020 09:37:49 GMT
|
122
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,96 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://doi.org/ra/10.7554
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Mozilla/5.0 (compatible; Maremma/4.7.1; mailto:info@datacite.org)
|
12
|
+
Accept:
|
13
|
+
- text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: ''
|
18
|
+
headers:
|
19
|
+
Date:
|
20
|
+
- Sat, 22 Aug 2020 09:09:10 GMT
|
21
|
+
Content-Type:
|
22
|
+
- application/json;charset=UTF-8
|
23
|
+
Connection:
|
24
|
+
- keep-alive
|
25
|
+
Set-Cookie:
|
26
|
+
- __cfduid=dc7cd5dde23bd772408198c155ba5278f1598087350; expires=Mon, 21-Sep-20
|
27
|
+
09:09:10 GMT; path=/; domain=.doi.org; HttpOnly; SameSite=Lax; Secure
|
28
|
+
Cf-Cache-Status:
|
29
|
+
- DYNAMIC
|
30
|
+
Cf-Request-Id:
|
31
|
+
- 04b706e111000097cca18f6200000001
|
32
|
+
Expect-Ct:
|
33
|
+
- max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
|
34
|
+
Strict-Transport-Security:
|
35
|
+
- max-age=31536000; includeSubDomains; preload
|
36
|
+
Server:
|
37
|
+
- cloudflare
|
38
|
+
Cf-Ray:
|
39
|
+
- 5c6b7414eaca97cc-FRA
|
40
|
+
body:
|
41
|
+
encoding: ASCII-8BIT
|
42
|
+
string: |-
|
43
|
+
[
|
44
|
+
{
|
45
|
+
"DOI": "10.7554",
|
46
|
+
"RA": "Crossref"
|
47
|
+
}
|
48
|
+
]
|
49
|
+
http_version:
|
50
|
+
recorded_at: Sat, 22 Aug 2020 09:09:10 GMT
|
51
|
+
- request:
|
52
|
+
method: get
|
53
|
+
uri: https://api.crossref.org/works/10.7554/elife.55167.sa2/transform/application/vnd.crossref.unixsd+xml
|
54
|
+
body:
|
55
|
+
encoding: US-ASCII
|
56
|
+
string: ''
|
57
|
+
headers:
|
58
|
+
User-Agent:
|
59
|
+
- Mozilla/5.0 (compatible; Maremma/4.7.1; mailto:info@datacite.org)
|
60
|
+
Accept:
|
61
|
+
- text/xml
|
62
|
+
response:
|
63
|
+
status:
|
64
|
+
code: 200
|
65
|
+
message: OK
|
66
|
+
headers:
|
67
|
+
Link:
|
68
|
+
- <http://dx.doi.org/10.7554/elife.55167.sa2>; rel="canonical", <http://creativecommons.org/licenses/by/4.0/>;
|
69
|
+
rel="license", <http://orcid.org/0000-0002-5286-4375>; title="Jeremy Magland";
|
70
|
+
rel="author", <http://orcid.org/0000-0002-2642-603X>; title="Elizabeth Lovero";
|
71
|
+
rel="author", <http://orcid.org/0000-0002-4997-4063>; title="Alexander J Morley";
|
72
|
+
rel="author", <http://orcid.org/0000-0002-2023-1653>; title="Cole Lincoln
|
73
|
+
Hurwitz"; rel="author"
|
74
|
+
Access-Control-Allow-Origin:
|
75
|
+
- "*"
|
76
|
+
Access-Control-Allow-Headers:
|
77
|
+
- X-Requested-With
|
78
|
+
Content-Length:
|
79
|
+
- '5929'
|
80
|
+
Server:
|
81
|
+
- http-kit
|
82
|
+
Date:
|
83
|
+
- Sat, 22 Aug 2020 09:09:11 GMT
|
84
|
+
X-Rate-Limit-Limit:
|
85
|
+
- '50'
|
86
|
+
X-Rate-Limit-Interval:
|
87
|
+
- 1s
|
88
|
+
Connection:
|
89
|
+
- close
|
90
|
+
body:
|
91
|
+
encoding: ASCII-8BIT
|
92
|
+
string: !binary |-
|
93
|
+
PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGNyb3NzcmVmX3Jlc3VsdCB4bWxucz0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIiB2ZXJzaW9uPSIzLjAiIHhtbG5zOnhzaT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS9YTUxTY2hlbWEtaW5zdGFuY2UiIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL3d3dy5jcm9zc3JlZi5vcmcvcXJzY2hlbWEvMy4wIGh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL3NjaGVtYXMvY3Jvc3NyZWZfcXVlcnlfb3V0cHV0My4wLnhzZCI+DQogIDxxdWVyeV9yZXN1bHQ+DQogICAgPGhlYWQ+DQogICAgICA8ZG9pX2JhdGNoX2lkPm5vbmU8L2RvaV9iYXRjaF9pZD4NCiAgICA8L2hlYWQ+DQogICAgPGJvZHk+DQogICAgICA8cXVlcnkgc3RhdHVzPSJyZXNvbHZlZCI+DQogICAgICAgIDxkb2kgdHlwZT0icGVlcl9yZXZpZXciPjEwLjc1NTQvZUxpZmUuNTUxNjcuc2EyPC9kb2k+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJwdWJsaXNoZXItbmFtZSIgdHlwZT0ic3RyaW5nIj5lTGlmZSBTY2llbmNlcyBQdWJsaWNhdGlvbnMsIEx0ZDwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJwcmVmaXgtbmFtZSIgdHlwZT0ic3RyaW5nIj5lTGlmZSBTY2llbmNlcyBQdWJsaWNhdGlvbnMsIEx0ZC48L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0ibWVtYmVyLWlkIiB0eXBlPSJudW1iZXIiPjQzNzQ8L2NybS1pdGVtPg0KICAgICAgICA8Y3JtLWl0ZW0gbmFtZT0iY2l0YXRpb24taWQiIHR5cGU9Im51bWJlciI+MTE2NDQ0NDI3PC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9ImpvdXJuYWwtaWQiIHR5cGU9Im51bWJlciI+MTg5MzY1PC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9ImRlcG9zaXQtdGltZXN0YW1wIiB0eXBlPSJudW1iZXIiPjIwMjAwNTE5MTgzMDMxPC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9Im93bmVyLXByZWZpeCIgdHlwZT0ic3RyaW5nIj4xMC43NTU0PC9jcm0taXRlbT4NCiAgICAgICAgPGNybS1pdGVtIG5hbWU9Imxhc3QtdXBkYXRlIiB0eXBlPSJkYXRlIj4yMDIwLTA1LTE5VDIwOjMzOjM3WjwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJjcmVhdGVkIiB0eXBlPSJkYXRlIj4yMDIwLTA1LTE5VDIwOjMzOjM1WjwvY3JtLWl0ZW0+DQogICAgICAgIDxjcm0taXRlbSBuYW1lPSJjaXRlZGJ5LWNvdW50IiB0eXBlPSJudW1iZXIiPjE8L2NybS1pdGVtPg0KICAgICAgICA8ZG9pX3JlY29yZD4NCiAgICAgICAgICA8Y3Jvc3NyZWYgeG1sbnM9Imh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL3hzY2hlbWEvMS4xIiB4c2k6c2NoZW1hTG9jYXRpb249Imh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL3hzY2hlbWEvMS4xIGh0dHA6Ly9kb2kuY3Jvc3NyZWYub3JnL3NjaGVtYXMvdW5peHJlZjEuMS54c2QiPg0KICAgICAgICAgICAgPHBlZXJfcmV2aWV3IHN0YWdlPSJwcmUtcHVibGljYXRpb24iIHR5cGU9ImF1dGhvci1jb21tZW50Ij4NCiAgICAgICAgICAgICAgPGNvbnRyaWJ1dG9ycz4NCiAgICAgICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iZmlyc3QiPg0KICAgICAgICAgICAgICAgICAgPGdpdmVuX25hbWU+SmVyZW15PC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgICAgICAgPHN1cm5hbWU+TWFnbGFuZDwvc3VybmFtZT4NCiAgICAgICAgICAgICAgICAgIDxhZmZpbGlhdGlvbj5DZW50ZXIgZm9yIENvbXB1dGF0aW9uYWwgTWF0aGVtYXRpY3MsIEZsYXRpcm9uIEluc3RpdHV0ZSwgTmV3IFlvcmssIFVuaXRlZCBTdGF0ZXM8L2FmZmlsaWF0aW9uPg0KICAgICAgICAgICAgICAgICAgPE9SQ0lEIGF1dGhlbnRpY2F0ZWQ9InRydWUiPmh0dHBzOi8vb3JjaWQub3JnLzAwMDAtMDAwMi01Mjg2LTQzNzU8L09SQ0lEPg0KICAgICAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICAgICAgPGdpdmVuX25hbWU+SmFtZXMgSjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxzdXJuYW1lPkp1bjwvc3VybmFtZT4NCiAgICAgICAgICAgICAgICAgIDxhZmZpbGlhdGlvbj5DZW50ZXIgZm9yIENvbXB1dGF0aW9uYWwgTWF0aGVtYXRpY3MsIEZsYXRpcm9uIEluc3RpdHV0ZSwgTmV3IFlvcmssIFVuaXRlZCBTdGF0ZXM8L2FmZmlsaWF0aW9uPg0KICAgICAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICAgICAgPGdpdmVuX25hbWU+RWxpemFiZXRoPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgICAgICAgPHN1cm5hbWU+TG92ZXJvPC9zdXJuYW1lPg0KICAgICAgICAgICAgICAgICAgPGFmZmlsaWF0aW9uPlNjaWVudGlmaWMgQ29tcHV0aW5nIENvcmUsIEZsYXRpcm9uIEluc3RpdHV0ZSwgTmV3IFlvcmssIFVuaXRlZCBTdGF0ZXM8L2FmZmlsaWF0aW9uPg0KICAgICAgICAgICAgICAgICAgPE9SQ0lEIGF1dGhlbnRpY2F0ZWQ9InRydWUiPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAyLTI2NDItNjAzWDwvT1JDSUQ+DQogICAgICAgICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICAgICAgICA8Z2l2ZW5fbmFtZT5BbGV4YW5kZXIgSjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxzdXJuYW1lPk1vcmxleTwvc3VybmFtZT4NCiAgICAgICAgICAgICAgICAgIDxhZmZpbGlhdGlvbj5NZWRpY2FsIFJlc2VhcmNoIENvdW5jaWwgQnJhaW4gTmV0d29yayBEeW5hbWljcyBVbml0LCBVbml2ZXJzaXR5IG9mIE94Zm9yZCwgT3hmb3JkLCBVbml0ZWQgS2luZ2RvbTwvYWZmaWxpYXRpb24+DQogICAgICAgICAgICAgICAgICA8T1JDSUQgYXV0aGVudGljYXRlZD0idHJ1ZSI+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItNDk5Ny00MDYzPC9PUkNJRD4NCiAgICAgICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgICAgIDxnaXZlbl9uYW1lPkNvbGUgTGluY29sbjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxzdXJuYW1lPkh1cndpdHo8L3N1cm5hbWU+DQogICAgICAgICAgICAgICAgICA8YWZmaWxpYXRpb24+SW5zdGl0dXRlIGZvciBBZGFwdGl2ZSBhbmQgTmV1cmFsIENvbXB1dGF0aW9uIEluZm9ybWF0aWNzLCBVbml2ZXJzaXR5IG9mIEVkaW5idXJnaCwgRWRpbmJ1cmdoLCBVbml0ZWQgS2luZ2RvbTwvYWZmaWxpYXRpb24+DQogICAgICAgICAgICAgICAgICA8T1JDSUQgYXV0aGVudGljYXRlZD0idHJ1ZSI+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDItMjAyMy0xNjUzPC9PUkNJRD4NCiAgICAgICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgICAgIDxnaXZlbl9uYW1lPkFsZXNzaW8gUGFvbG88L2dpdmVuX25hbWU+DQogICAgICAgICAgICAgICAgICA8c3VybmFtZT5CdWNjaW5vPC9zdXJuYW1lPg0KICAgICAgICAgICAgICAgICAgPGFmZmlsaWF0aW9uPkNlbnRyZSBmb3IgSW50ZWdyYXRpdmVOZXVyb3BsYXN0aWNpdHkgKENJTlBMQSksIFVuaXZlcnNpdHkgb2YgT3NsbywgT3NsbywgTm9yd2F5PC9hZmZpbGlhdGlvbj4NCiAgICAgICAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgICAgICAgIDxnaXZlbl9uYW1lPlNhbXVlbDwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgICAgICAgIDxzdXJuYW1lPkdhcmNpYTwvc3VybmFtZT4NCiAgICAgICAgICAgICAgICAgIDxhZmZpbGlhdGlvbj5DZW50cmUgZGUgUmVjaGVyY2hlIGVuIE5ldXJvc2NpZW5jZSBkZSBMeW9uLCBVbml2ZXJzaXTDqSBkZSBMeW9uLCBMeW9uLCBGcmFuY2U8L2FmZmlsaWF0aW9uPg0KICAgICAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgICAgICAgPGdpdmVuX25hbWU+QWxleCBIPC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgICAgICAgPHN1cm5hbWU+QmFybmV0dDwvc3VybmFtZT4NCiAgICAgICAgICAgICAgICAgIDxhZmZpbGlhdGlvbj5DZW50ZXIgZm9yIENvbXB1dGF0aW9uYWwgTWF0aGVtYXRpY3MsIEZsYXRpcm9uIEluc3RpdHV0ZSwgTmV3IFlvcmssIFVuaXRlZCBTdGF0ZXM8L2FmZmlsaWF0aW9uPg0KICAgICAgICAgICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgICAgIDwvY29udHJpYnV0b3JzPg0KICAgICAgICAgICAgICA8dGl0bGVzPg0KICAgICAgICAgICAgICAgIDx0aXRsZT5BdXRob3IgcmVzcG9uc2U6IFNwaWtlRm9yZXN0LCByZXByb2R1Y2libGUgd2ViLWZhY2luZyBncm91bmQtdHJ1dGggdmFsaWRhdGlvbiBvZiBhdXRvbWF0ZWQgbmV1cmFsIHNwaWtlIHNvcnRlcnM8L3RpdGxlPg0KICAgICAgICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgICAgICAgPHJldmlld19kYXRlPg0KICAgICAgICAgICAgICAgIDxtb250aD4wNDwvbW9udGg+DQogICAgICAgICAgICAgICAgPGRheT4yOTwvZGF5Pg0KICAgICAgICAgICAgICAgIDx5ZWFyPjIwMjA8L3llYXI+DQogICAgICAgICAgICAgIDwvcmV2aWV3X2RhdGU+DQogICAgICAgICAgICAgIDxhaTpwcm9ncmFtIHhtbG5zOmFpPSJodHRwOi8vd3d3LmNyb3NzcmVmLm9yZy9BY2Nlc3NJbmRpY2F0b3JzLnhzZCIgbmFtZT0iQWNjZXNzSW5kaWNhdG9ycyI+DQogICAgICAgICAgICAgICAgPGFpOmxpY2Vuc2VfcmVmPmh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL2xpY2Vuc2VzL2J5LzQuMC88L2FpOmxpY2Vuc2VfcmVmPg0KICAgICAgICAgICAgICA8L2FpOnByb2dyYW0+DQogICAgICAgICAgICAgIDxyZWw6cHJvZ3JhbSB4bWxuczpyZWw9Imh0dHA6Ly93d3cuY3Jvc3NyZWYub3JnL3JlbGF0aW9ucy54c2QiPg0KICAgICAgICAgICAgICAgIDxyZWw6cmVsYXRlZF9pdGVtPg0KICAgICAgICAgICAgICAgICAgPHJlbDppbnRlcl93b3JrX3JlbGF0aW9uIGlkZW50aWZpZXItdHlwZT0iZG9pIiByZWxhdGlvbnNoaXAtdHlwZT0iaXNSZXZpZXdPZiI+MTAuNzU1NC9lTGlmZS41NTE2NzwvcmVsOmludGVyX3dvcmtfcmVsYXRpb24+DQogICAgICAgICAgICAgICAgPC9yZWw6cmVsYXRlZF9pdGVtPg0KICAgICAgICAgICAgICA8L3JlbDpwcm9ncmFtPg0KICAgICAgICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgICAgICAgPGRvaT4xMC43NTU0L2VMaWZlLjU1MTY3LnNhMjwvZG9pPg0KICAgICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwczovL2VsaWZlc2NpZW5jZXMub3JnL2FydGljbGVzLzU1MTY3I3NhMjwvcmVzb3VyY2U+DQogICAgICAgICAgICAgIDwvZG9pX2RhdGE+DQogICAgICAgICAgICA8L3BlZXJfcmV2aWV3Pg0KICAgICAgICAgIDwvY3Jvc3NyZWY+DQogICAgICAgIDwvZG9pX3JlY29yZD4NCiAgICAgIDwvcXVlcnk+DQogICAgPC9ib2R5Pg0KICA8L3F1ZXJ5X3Jlc3VsdD4NCjwvY3Jvc3NyZWZfcmVzdWx0Pg==
|
94
|
+
http_version:
|
95
|
+
recorded_at: Sat, 22 Aug 2020 09:09:11 GMT
|
96
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,138 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://doi.org/ra/10.2172
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Mozilla/5.0 (compatible; Maremma/4.7.1; mailto:info@datacite.org)
|
12
|
+
Accept:
|
13
|
+
- text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: ''
|
18
|
+
headers:
|
19
|
+
Date:
|
20
|
+
- Wed, 29 Jul 2020 21:23:48 GMT
|
21
|
+
Content-Type:
|
22
|
+
- application/json;charset=UTF-8
|
23
|
+
Connection:
|
24
|
+
- keep-alive
|
25
|
+
Set-Cookie:
|
26
|
+
- __cfduid=d01ef02c612a86c1cf7a059f5c9c803201596057828; expires=Fri, 28-Aug-20
|
27
|
+
21:23:48 GMT; path=/; domain=.doi.org; HttpOnly; SameSite=Lax; Secure
|
28
|
+
Cf-Cache-Status:
|
29
|
+
- DYNAMIC
|
30
|
+
Cf-Request-Id:
|
31
|
+
- 043e0ed580000096d473a7a200000001
|
32
|
+
Expect-Ct:
|
33
|
+
- max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
|
34
|
+
Strict-Transport-Security:
|
35
|
+
- max-age=31536000; includeSubDomains; preload
|
36
|
+
Server:
|
37
|
+
- cloudflare
|
38
|
+
Cf-Ray:
|
39
|
+
- 5ba9e7359f0c96d4-FRA
|
40
|
+
body:
|
41
|
+
encoding: ASCII-8BIT
|
42
|
+
string: |-
|
43
|
+
[
|
44
|
+
{
|
45
|
+
"DOI": "10.2172",
|
46
|
+
"RA": "Crossref"
|
47
|
+
}
|
48
|
+
]
|
49
|
+
http_version:
|
50
|
+
recorded_at: Wed, 29 Jul 2020 21:23:48 GMT
|
51
|
+
- request:
|
52
|
+
method: get
|
53
|
+
uri: https://api.crossref.org/works/10.2172/972169/transform/application/vnd.crossref.unixsd+xml
|
54
|
+
body:
|
55
|
+
encoding: US-ASCII
|
56
|
+
string: ''
|
57
|
+
headers:
|
58
|
+
User-Agent:
|
59
|
+
- Mozilla/5.0 (compatible; Maremma/4.7.1; mailto:info@datacite.org)
|
60
|
+
Accept:
|
61
|
+
- text/xml
|
62
|
+
response:
|
63
|
+
status:
|
64
|
+
code: 200
|
65
|
+
message: OK
|
66
|
+
headers:
|
67
|
+
Link:
|
68
|
+
- <http://dx.doi.org/10.2172/972169>; rel="canonical"
|
69
|
+
Access-Control-Allow-Origin:
|
70
|
+
- "*"
|
71
|
+
Access-Control-Allow-Headers:
|
72
|
+
- X-Requested-With
|
73
|
+
Content-Length:
|
74
|
+
- '4217'
|
75
|
+
Server:
|
76
|
+
- http-kit
|
77
|
+
Date:
|
78
|
+
- Wed, 29 Jul 2020 21:23:49 GMT
|
79
|
+
X-Rate-Limit-Limit:
|
80
|
+
- '50'
|
81
|
+
X-Rate-Limit-Interval:
|
82
|
+
- 1s
|
83
|
+
Connection:
|
84
|
+
- close
|
85
|
+
body:
|
86
|
+
encoding: ASCII-8BIT
|
87
|
+
string: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<crossref_result xmlns=\"http://www.crossref.org/qrschema/3.0\"
|
88
|
+
version=\"3.0\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.crossref.org/qrschema/3.0
|
89
|
+
http://www.crossref.org/schemas/crossref_query_output3.0.xsd\">\r\n <query_result>\r\n
|
90
|
+
\ <head>\r\n <doi_batch_id>none</doi_batch_id>\r\n </head>\r\n <body>\r\n
|
91
|
+
\ <query status=\"resolved\">\r\n <doi type=\"report-paper_title\">10.2172/972169</doi>\r\n
|
92
|
+
\ <crm-item name=\"publisher-name\" type=\"string\">Office of Scientific
|
93
|
+
and Technical Information (OSTI)</crm-item>\r\n <crm-item name=\"prefix-name\"
|
94
|
+
type=\"string\">Office of Scientific and Technical Information</crm-item>\r\n
|
95
|
+
\ <crm-item name=\"member-id\" type=\"number\">960</crm-item>\r\n <crm-item
|
96
|
+
name=\"citation-id\" type=\"number\">41225045</crm-item>\r\n <crm-item
|
97
|
+
name=\"book-id\" type=\"number\">584445</crm-item>\r\n <crm-item name=\"deposit-timestamp\"
|
98
|
+
type=\"number\">20100218105553</crm-item>\r\n <crm-item name=\"owner-prefix\"
|
99
|
+
type=\"string\">10.2172</crm-item>\r\n <crm-item name=\"last-update\"
|
100
|
+
type=\"date\">2010-02-19T03:56:05Z</crm-item>\r\n <crm-item name=\"created\"
|
101
|
+
type=\"date\">2010-02-19T03:56:03Z</crm-item>\r\n <crm-item name=\"citedby-count\"
|
102
|
+
type=\"number\">159</crm-item>\r\n <doi_record>\r\n <crossref
|
103
|
+
xmlns=\"http://www.crossref.org/xschema/1.0\" xsi:schemaLocation=\"http://www.crossref.org/xschema/1.0
|
104
|
+
http://doi.crossref.org/schemas/unixref1.0.xsd\">\r\n <report-paper
|
105
|
+
publication_type=\"full_text\">\r\n <report-paper_metadata language=\"en\">\r\n
|
106
|
+
\ <contributors>\r\n <person_name sequence=\"first\"
|
107
|
+
contributor_role=\"author\">\r\n <given_name>P.</given_name>\r\n
|
108
|
+
\ <surname>Denholm</surname>\r\n </person_name>\r\n
|
109
|
+
\ <person_name sequence=\"additional\" contributor_role=\"author\">\r\n
|
110
|
+
\ <given_name>E.</given_name>\r\n <surname>Ela</surname>\r\n
|
111
|
+
\ </person_name>\r\n <person_name sequence=\"additional\"
|
112
|
+
contributor_role=\"author\">\r\n <given_name>B.</given_name>\r\n
|
113
|
+
\ <surname>Kirby</surname>\r\n </person_name>\r\n
|
114
|
+
\ <person_name sequence=\"additional\" contributor_role=\"author\">\r\n
|
115
|
+
\ <given_name>M.</given_name>\r\n <surname>Milligan</surname>\r\n
|
116
|
+
\ </person_name>\r\n </contributors>\r\n <titles>\r\n
|
117
|
+
\ <title>Role of Energy Storage with Renewable Electricity
|
118
|
+
Generation</title>\r\n </titles>\r\n <publication_date
|
119
|
+
media_type=\"online\">\r\n <month>01</month>\r\n <day>01</day>\r\n
|
120
|
+
\ <year>2010</year>\r\n </publication_date>\r\n
|
121
|
+
\ <approval_date>\r\n <month>02</month>\r\n
|
122
|
+
\ <day>18</day>\r\n <year>2010</year>\r\n
|
123
|
+
\ </approval_date>\r\n <institution>\r\n <institution_name>National
|
124
|
+
Renewable Energy Laboratory (NREL)</institution_name>\r\n <institution_acronym>NREL</institution_acronym>\r\n
|
125
|
+
\ <institution_place>Golden, CO (United States)</institution_place>\r\n
|
126
|
+
\ </institution>\r\n <institution>\r\n <institution_name>USDOE</institution_name>\r\n
|
127
|
+
\ </institution>\r\n <publisher_item>\r\n <item_number
|
128
|
+
item_number_type=\"report-number\">NREL/TP-6A2-47187</item_number>\r\n <item_number
|
129
|
+
item_number_type=\"sequence-number\">972169</item_number>\r\n </publisher_item>\r\n
|
130
|
+
\ <contract_number>AC36-99-GO10337</contract_number>\r\n <doi_data>\r\n
|
131
|
+
\ <doi>10.2172/972169</doi>\r\n <timestamp>20100218105553</timestamp>\r\n
|
132
|
+
\ <resource>http://www.osti.gov/servlets/purl/972169-1QXROM/</resource>\r\n
|
133
|
+
\ </doi_data>\r\n </report-paper_metadata>\r\n
|
134
|
+
\ </report-paper>\r\n </crossref>\r\n </doi_record>\r\n
|
135
|
+
\ </query>\r\n </body>\r\n </query_result>\r\n</crossref_result>"
|
136
|
+
http_version:
|
137
|
+
recorded_at: Wed, 29 Jul 2020 21:23:49 GMT
|
138
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,104 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: https://doi.org/ra/10.6084
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Mozilla/5.0 (compatible; Maremma/4.7.1; mailto:info@datacite.org)
|
12
|
+
Accept:
|
13
|
+
- text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: ''
|
18
|
+
headers:
|
19
|
+
Date:
|
20
|
+
- Fri, 21 Aug 2020 11:43:04 GMT
|
21
|
+
Content-Type:
|
22
|
+
- application/json;charset=UTF-8
|
23
|
+
Connection:
|
24
|
+
- keep-alive
|
25
|
+
Set-Cookie:
|
26
|
+
- __cfduid=dfd6c87cff8b6f860fa122f6cddf80f0f1598010184; expires=Sun, 20-Sep-20
|
27
|
+
11:43:04 GMT; path=/; domain=.doi.org; HttpOnly; SameSite=Lax; Secure
|
28
|
+
Cf-Cache-Status:
|
29
|
+
- DYNAMIC
|
30
|
+
Cf-Request-Id:
|
31
|
+
- 04b26d6b940000d6e96a26c200000001
|
32
|
+
Expect-Ct:
|
33
|
+
- max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
|
34
|
+
Strict-Transport-Security:
|
35
|
+
- max-age=31536000; includeSubDomains; preload
|
36
|
+
Server:
|
37
|
+
- cloudflare
|
38
|
+
Cf-Ray:
|
39
|
+
- 5c641825bf84d6e9-FRA
|
40
|
+
body:
|
41
|
+
encoding: ASCII-8BIT
|
42
|
+
string: |-
|
43
|
+
[
|
44
|
+
{
|
45
|
+
"DOI": "10.6084",
|
46
|
+
"RA": "DataCite"
|
47
|
+
}
|
48
|
+
]
|
49
|
+
http_version:
|
50
|
+
recorded_at: Fri, 21 Aug 2020 11:43:04 GMT
|
51
|
+
- request:
|
52
|
+
method: get
|
53
|
+
uri: https://api.datacite.org/dois/10.6084/m9.figshare.1286826.v1?include=media,client
|
54
|
+
body:
|
55
|
+
encoding: US-ASCII
|
56
|
+
string: ''
|
57
|
+
headers:
|
58
|
+
User-Agent:
|
59
|
+
- Mozilla/5.0 (compatible; Maremma/4.7.1; mailto:info@datacite.org)
|
60
|
+
Accept:
|
61
|
+
- text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
|
62
|
+
response:
|
63
|
+
status:
|
64
|
+
code: 200
|
65
|
+
message: OK
|
66
|
+
headers:
|
67
|
+
Date:
|
68
|
+
- Fri, 21 Aug 2020 11:43:05 GMT
|
69
|
+
Content-Type:
|
70
|
+
- application/json; charset=utf-8
|
71
|
+
Connection:
|
72
|
+
- keep-alive
|
73
|
+
Status:
|
74
|
+
- 200 OK
|
75
|
+
X-Anonymous-Consumer:
|
76
|
+
- 'true'
|
77
|
+
Cache-Control:
|
78
|
+
- max-age=0, private, must-revalidate
|
79
|
+
Vary:
|
80
|
+
- Accept-Encoding, Origin
|
81
|
+
X-Request-Id:
|
82
|
+
- f32dc0c7-ae28-4225-aebb-690f7ed8f96f
|
83
|
+
Etag:
|
84
|
+
- W/"1053de58f4bcf558a2c6eff57d658893"
|
85
|
+
X-Runtime:
|
86
|
+
- '0.281050'
|
87
|
+
X-Powered-By:
|
88
|
+
- Phusion Passenger 6.0.6
|
89
|
+
Server:
|
90
|
+
- nginx/1.14.0 + Phusion Passenger 6.0.6
|
91
|
+
body:
|
92
|
+
encoding: ASCII-8BIT
|
93
|
+
string: '{"data":{"id":"10.6084/m9.figshare.1286826.v1","type":"dois","attributes":{"doi":"10.6084/m9.figshare.1286826.v1","prefix":"10.6084","suffix":"m9.figshare.1286826.v1","identifiers":[],"alternateIdentifiers":[],"creators":[{"name":"Kramer,
|
94
|
+
Bianca","nameType":"Personal","givenName":"Bianca","familyName":"Kramer","affiliation":[],"nameIdentifiers":[{"nameIdentifier":"https://orcid.org/0000-0002-5965-6560","nameIdentifierScheme":"ORCID"}]},{"name":"Bosman,
|
95
|
+
Jeroen","nameType":"Personal","givenName":"Jeroen","familyName":"Bosman","affiliation":[],"nameIdentifiers":[{"nameIdentifier":"https://orcid.org/0000-0001-5796-2727","nameIdentifierScheme":"ORCID"}]}],"titles":[{"title":"101
|
96
|
+
Innovations in Scholarly Communication - the Changing Research Workflow"}],"publisher":"Figshare","container":{},"publicationYear":2015,"subjects":[],"contributors":[],"dates":[{"date":"2015","dateType":"Issued"}],"language":null,"types":{"ris":"DATA","bibtex":"misc","citeproc":"dataset","schemaOrg":"Dataset","resourceType":"Dataset","resourceTypeGeneral":"Dataset"},"relatedIdentifiers":[],"sizes":[],"formats":[],"version":null,"rightsList":[{"rights":"CC-BY","rightsUri":"http://creativecommons.org/licenses/by/3.0/us"}],"descriptions":[],"geoLocations":[],"fundingReferences":[],"xml":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJlc291cmNlIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtMyIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtMyBodHRwOi8vc2NoZW1hLmRhdGFjaXRlLm9yZy9tZXRhL2tlcm5lbC0zL21ldGFkYXRhLnhzZCI+PGlkZW50aWZpZXIgaWRlbnRpZmllclR5cGU9IkRPSSI+MTAuNjA4NC9NOS5GSUdTSEFSRS4xMjg2ODI2LlYxPC9pZGVudGlmaWVyPjx0aXRsZXM+PHRpdGxlPjEwMSBJbm5vdmF0aW9ucyBpbiBTY2hvbGFybHkgQ29tbXVuaWNhdGlvbiAtIHRoZSBDaGFuZ2luZyBSZXNlYXJjaCBXb3JrZmxvdzwvdGl0bGU+PC90aXRsZXM+PHB1Ymxpc2hlcj5GaWdzaGFyZTwvcHVibGlzaGVyPjxwdWJsaWNhdGlvblllYXI+MjAxNTwvcHVibGljYXRpb25ZZWFyPjxyZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlR2VuZXJhbD0iRGF0YXNldCI+RGF0YXNldDwvcmVzb3VyY2VUeXBlPjxyaWdodHNMaXN0PjxyaWdodHMgcmlnaHRzVVJJPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9saWNlbnNlcy9ieS8zLjAvdXMvIj5DQy1CWTwvcmlnaHRzPjwvcmlnaHRzTGlzdD48Y3JlYXRvcnM+PGNyZWF0b3I+PGNyZWF0b3JOYW1lPkJpYW5jYSAgS3JhbWVyPC9jcmVhdG9yTmFtZT48bmFtZUlkZW50aWZpZXIgbmFtZUlkZW50aWZpZXJTY2hlbWU9Ik9SQ0lEIj4wMDAwLTAwMDItNTk2NS02NTYwPC9uYW1lSWRlbnRpZmllcj48L2NyZWF0b3I+PGNyZWF0b3I+PGNyZWF0b3JOYW1lPkplcm9lbiBCb3NtYW48L2NyZWF0b3JOYW1lPjxuYW1lSWRlbnRpZmllciBuYW1lSWRlbnRpZmllclNjaGVtZT0iT1JDSUQiPjAwMDAtMDAwMS01Nzk2LTI3Mjc8L25hbWVJZGVudGlmaWVyPjwvY3JlYXRvcj48L2NyZWF0b3JzPjwvcmVzb3VyY2U+","url":"https://figshare.com/articles/101_Innovations_in_Scholarly_Communication_the_Changing_Research_Workflow/1286826/1","contentUrl":null,"metadataVersion":0,"schemaVersion":"http://datacite.org/schema/kernel-3","source":null,"isActive":true,"state":"findable","reason":null,"viewCount":0,"viewsOverTime":[],"downloadCount":0,"downloadsOverTime":[],"referenceCount":0,"citationCount":0,"citationsOverTime":[],"partCount":0,"partOfCount":0,"versionCount":0,"versionOfCount":0,"created":"2016-01-19T13:15:11.000Z","registered":"2016-01-19T13:15:12.000Z","published":"2015","updated":"2020-07-27T15:52:33.000Z"},"relationships":{"client":{"data":{"id":"figshare.ars","type":"clients"}},"media":{"data":{"id":"10.6084/m9.figshare.1286826.v1","type":"media"}},"references":{"data":[]},"citations":{"data":[]},"parts":{"data":[]},"partOf":{"data":[]},"versions":{"data":[]},"versionOf":{"data":[]}}},"included":[{"id":"figshare.ars","type":"clients","attributes":{"name":"figshare
|
97
|
+
Academic Research System","symbol":"FIGSHARE.ARS","year":2016,"contactEmail":"danielduduta@figshare.com","alternateName":null,"description":"figshare
|
98
|
+
allows researchers to publish all of their research outputs in an easily citable,
|
99
|
+
sharable and discoverable manner. All file formats can be published, including
|
100
|
+
videos and datasets. Optional peer review process. figshare uses creative
|
101
|
+
commons licensing.","language":null,"clientType":"repository","domains":"figshare.com","re3data":"https://doi.org/10.17616/R3PK5R","opendoar":null,"issn":null,"url":"http://figshare.com/","created":"2016-10-12T13:42:35.000Z","updated":"2019-07-27T07:15:48.000Z","isActive":true,"hasPassword":true},"relationships":{"provider":{"data":{"id":"figshare","type":"providers"}},"prefixes":{"data":[{"id":"10.6084","type":"prefixes"}]}}}]}'
|
102
|
+
http_version:
|
103
|
+
recorded_at: Fri, 21 Aug 2020 11:43:05 GMT
|
104
|
+
recorded_with: VCR 3.0.3
|
@@ -19,7 +19,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
19
19
|
it "DOI with data citation" do
|
20
20
|
expect(subject.valid?).to be true
|
21
21
|
expect(subject.id).to eq("https://doi.org/10.7554/elife.01567")
|
22
|
-
expect(subject.identifiers).to eq([{"identifier"=>"e01567", "identifierType"=>"
|
22
|
+
expect(subject.identifiers).to eq([{"identifier"=>"e01567", "identifierType"=>"article_number"}])
|
23
23
|
expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
|
24
24
|
expect(subject.url).to eq("https://elifesciences.org/articles/01567")
|
25
25
|
expect(subject.creators.length).to eq(5)
|
@@ -82,7 +82,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
82
82
|
subject = Bolognese::Metadata.new(input: input)
|
83
83
|
expect(subject.valid?).to be true
|
84
84
|
expect(subject.id).to eq("https://doi.org/10.3389/fpls.2019.00816")
|
85
|
-
expect(subject.identifiers).to eq([{"identifier"=>"816", "identifierType"=>"
|
85
|
+
expect(subject.identifiers).to eq([{"identifier"=>"816", "identifierType"=>"article_number"}])
|
86
86
|
expect(subject.url).to eq("https://www.frontiersin.org/article/10.3389/fpls.2019.00816/full")
|
87
87
|
expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
|
88
88
|
expect(subject.creators.length).to eq(4)
|
@@ -179,6 +179,52 @@ describe Bolognese::Metadata, vcr: true do
|
|
179
179
|
expect(subject.agency).to eq("crossref")
|
180
180
|
end
|
181
181
|
|
182
|
+
it "peer review" do
|
183
|
+
input = "https://doi.org/10.7554/elife.55167.sa2"
|
184
|
+
subject = Bolognese::Metadata.new(input: input)
|
185
|
+
expect(subject.valid?).to be true
|
186
|
+
expect(subject.url).to eq("https://elifesciences.org/articles/55167#sa2")
|
187
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"article-journal", "resourceType"=>"PeerReview", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"Review")
|
188
|
+
expect(subject.creators.count).to eq(8)
|
189
|
+
expect(subject.creators.last).to eq("affiliation" => [{"name"=>"Center for Computational Mathematics, Flatiron Institute, New York, United States"}],
|
190
|
+
"familyName" => "Barnett",
|
191
|
+
"givenName" => "Alex H",
|
192
|
+
"name" => "Barnett, Alex H",
|
193
|
+
"nameType" => "Personal")
|
194
|
+
expect(subject.titles).to eq([{"title"=>"Author response: SpikeForest, reproducible web-facing ground-truth validation of automated neural spike sorters"}])
|
195
|
+
expect(subject.id).to eq("https://doi.org/10.7554/elife.55167.sa2")
|
196
|
+
expect(subject.identifiers).to be_empty
|
197
|
+
expect(subject.descriptions).to be_empty
|
198
|
+
expect(subject.dates).to include({"date"=>"2020-05-19", "dateType"=>"Issued"})
|
199
|
+
expect(subject.publication_year).to eq("2020")
|
200
|
+
expect(subject.publisher).to eq("eLife Sciences Publications, Ltd")
|
201
|
+
expect(subject.agency).to eq("crossref")
|
202
|
+
end
|
203
|
+
|
204
|
+
it "dissertation" do
|
205
|
+
input = "https://doi.org/10.14264/uql.2020.791"
|
206
|
+
subject = Bolognese::Metadata.new(input: input)
|
207
|
+
expect(subject.valid?).to be true
|
208
|
+
expect(subject.url).to eq("http://espace.library.uq.edu.au/view/UQ:23a1e74")
|
209
|
+
expect(subject.types).to eq("bibtex"=>"phdthesis", "citeproc"=>"thesis", "resourceType"=>"Dissertation", "resourceTypeGeneral"=>"Text", "ris"=>"THES", "schemaOrg"=>"Thesis")
|
210
|
+
expect(subject.creators).to eq([{"familyName"=>"Collingwood",
|
211
|
+
"givenName"=>"Patricia Maree",
|
212
|
+
"name"=>"Collingwood, Patricia Maree",
|
213
|
+
"nameIdentifiers"=>
|
214
|
+
[{"nameIdentifier"=>"https://orcid.org/0000-0003-3086-4443",
|
215
|
+
"nameIdentifierScheme"=>"ORCID",
|
216
|
+
"schemeUri"=>"https://orcid.org"}],
|
217
|
+
"nameType"=>"Personal"}])
|
218
|
+
expect(subject.titles).to eq([{"title"=>"School truancy and financial independence during emerging adulthood: a longitudinal analysis of receipt of and reliance on cash transfers"}])
|
219
|
+
expect(subject.id).to eq("https://doi.org/10.14264/uql.2020.791")
|
220
|
+
expect(subject.identifiers).to be_empty
|
221
|
+
expect(subject.descriptions).to be_empty
|
222
|
+
expect(subject.dates).to include({"date"=>"2020-06-08", "dateType"=>"Issued"})
|
223
|
+
expect(subject.publication_year).to eq("2020")
|
224
|
+
expect(subject.publisher).to eq("University of Queensland Library")
|
225
|
+
expect(subject.agency).to eq("crossref")
|
226
|
+
end
|
227
|
+
|
182
228
|
it "DOI with SICI DOI" do
|
183
229
|
input = "https://doi.org/10.1890/0012-9658(2006)87[2832:tiopma]2.0.co;2"
|
184
230
|
subject = Bolognese::Metadata.new(input: input)
|
@@ -229,7 +275,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
229
275
|
subject = Bolognese::Metadata.new(input: input)
|
230
276
|
expect(subject.valid?).to be true
|
231
277
|
expect(subject.id).to eq("https://doi.org/10.1016/j.ejphar.2015.03.018")
|
232
|
-
expect(subject.identifiers).to eq([{"identifier"=>"S0014299915002332", "identifierType"=>"
|
278
|
+
expect(subject.identifiers).to eq([{"identifier"=>"S0014299915002332", "identifierType"=>"sequence-number"}])
|
233
279
|
expect(subject.url).to eq("https://linkinghub.elsevier.com/retrieve/pii/S0014299915002332")
|
234
280
|
expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
|
235
281
|
expect(subject.creators.length).to eq(10)
|
@@ -433,7 +479,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
433
479
|
subject = Bolognese::Metadata.new(input: input)
|
434
480
|
expect(subject.valid?).to be true
|
435
481
|
expect(subject.id).to eq("https://doi.org/10.3280/ecag2018-001005")
|
436
|
-
expect(subject.identifiers).to eq([{"identifier"=>"5", "identifierType"=>"
|
482
|
+
expect(subject.identifiers).to eq([{"identifier"=>"5", "identifierType"=>"article_number"}])
|
437
483
|
expect(subject.url).to eq("http://www.francoangeli.it/riviste/Scheda_Riviste.asp?IDArticolo=61645")
|
438
484
|
expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
|
439
485
|
expect(subject.creators.length).to eq(2)
|
@@ -547,7 +593,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
547
593
|
subject = Bolognese::Metadata.new(input: input)
|
548
594
|
expect(subject.valid?).to be true
|
549
595
|
expect(subject.id).to eq("https://doi.org/10.1055/s-0039-1690894")
|
550
|
-
expect(subject.identifiers).to eq([{"identifier"=>"s-0039-1690894", "identifierType"=>"
|
596
|
+
expect(subject.identifiers).to eq([{"identifier"=>"s-0039-1690894", "identifierType"=>"sequence-number"}])
|
551
597
|
expect(subject.url).to eq("http://www.thieme-connect.de/DOI/DOI?10.1055/s-0039-1690894")
|
552
598
|
expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
|
553
599
|
expect(subject.creators.length).to eq(4)
|
@@ -643,6 +689,25 @@ describe Bolognese::Metadata, vcr: true do
|
|
643
689
|
expect(subject.agency).to eq("crossref")
|
644
690
|
end
|
645
691
|
|
692
|
+
it "report osti" do
|
693
|
+
input = "10.2172/972169"
|
694
|
+
subject = Bolognese::Metadata.new(input: input)
|
695
|
+
expect(subject.valid?).to be true
|
696
|
+
expect(subject.url).to eq("http://www.osti.gov/servlets/purl/972169-1QXROM/")
|
697
|
+
expect(subject.types).to eq("bibtex"=>"techreport", "citeproc"=>"report", "resourceType"=>"Report", "resourceTypeGeneral"=>"Text", "ris"=>"RPRT", "schemaOrg"=>"Report")
|
698
|
+
expect(subject.creators.count).to eq(4)
|
699
|
+
expect(subject.creators.first).to eq("familyName"=>"Denholm", "givenName"=>"P.", "name"=>"Denholm, P.", "nameType"=>"Personal")
|
700
|
+
expect(subject.contributors.count).to eq(0)
|
701
|
+
expect(subject.titles).to eq([{"title"=>"Role of Energy Storage with Renewable Electricity Generation"}])
|
702
|
+
expect(subject.id).to eq("https://doi.org/10.2172/972169")
|
703
|
+
expect(subject.identifiers).to eq( [{"identifier"=>"NREL/TP-6A2-47187", "identifierType"=>"report-number"}, {"identifier"=>"972169", "identifierType"=>"sequence-number"}])
|
704
|
+
expect(subject.descriptions).to be_empty
|
705
|
+
expect(subject.dates).to include({"date"=>"2010-01-01", "dateType"=>"Issued"})
|
706
|
+
expect(subject.publication_year).to eq("2010")
|
707
|
+
expect(subject.publisher).to eq("Office of Scientific and Technical Information (OSTI)")
|
708
|
+
expect(subject.agency).to eq("crossref")
|
709
|
+
end
|
710
|
+
|
646
711
|
it "journal issue" do
|
647
712
|
input = "https://doi.org/10.6002/ect.2015.0371"
|
648
713
|
subject = Bolognese::Metadata.new(input: input)
|
@@ -295,6 +295,17 @@ describe Bolognese::Metadata, vcr: true do
|
|
295
295
|
{"subject"=>"FOS: Media and communications", "subjectScheme"=>"Fields of Science and Technology (FOS)", "schemeUri"=>"http://www.oecd.org/science/inno/38235147.pdf"}, {"subject"=>"Library and Information Studies"}])
|
296
296
|
end
|
297
297
|
|
298
|
+
it "cc-by 3.0 us" do
|
299
|
+
input = "10.6084/m9.figshare.1286826.v1"
|
300
|
+
subject = Bolognese::Metadata.new(input: input)
|
301
|
+
expect(subject.valid?).to be true
|
302
|
+
expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution 3.0 Unported",
|
303
|
+
+ "rightsIdentifier"=>"cc-by-3.0",
|
304
|
+
+ "rightsIdentifierScheme"=>"SPDX",
|
305
|
+
+ "rightsUri"=>"https://creativecommons.org/licenses/by/3.0/legalcode",
|
306
|
+
+ "schemeUri"=>"https://spdx.org/licenses/"}])
|
307
|
+
end
|
308
|
+
|
298
309
|
it "funding schema version 3" do
|
299
310
|
input = "https://doi.org/10.5281/ZENODO.1239"
|
300
311
|
subject = Bolognese::Metadata.new(input: input)
|
@@ -386,11 +386,11 @@ describe Bolognese::Metadata, vcr: true do
|
|
386
386
|
input = "10.7554/eLife.01567"
|
387
387
|
subject = Bolognese::Metadata.new(input: input, from: "crossref")
|
388
388
|
expect(subject.valid?).to be true
|
389
|
-
expect(subject.identifiers).to eq(
|
390
|
-
subject.identifiers = [{ "identifierType" => "
|
389
|
+
expect(subject.identifiers).to eq([{"identifier"=>"e01567", "identifierType"=>"article_number"}])
|
390
|
+
subject.identifiers = [{ "identifierType" => "article_number", "identifier" => "abc" }]
|
391
391
|
datacite = Maremma.from_xml(subject.datacite).fetch("resource", {})
|
392
392
|
expect(datacite.dig("identifier", "__content__")).to eq("10.7554/elife.01567")
|
393
|
-
expect(subject.identifiers).to eq([{"identifier"=>"abc", "identifierType"=>"
|
393
|
+
expect(subject.identifiers).to eq([{"identifier"=>"abc", "identifierType"=>"article_number"}])
|
394
394
|
end
|
395
395
|
|
396
396
|
it "validates against schema" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bolognese
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.8.
|
4
|
+
version: 1.8.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Fenner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-08-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: maremma
|
@@ -130,22 +130,16 @@ dependencies:
|
|
130
130
|
name: thor
|
131
131
|
requirement: !ruby/object:Gem::Requirement
|
132
132
|
requirements:
|
133
|
-
- - "~>"
|
134
|
-
- !ruby/object:Gem::Version
|
135
|
-
version: '1.0'
|
136
133
|
- - ">="
|
137
134
|
- !ruby/object:Gem::Version
|
138
|
-
version:
|
135
|
+
version: '0.19'
|
139
136
|
type: :runtime
|
140
137
|
prerelease: false
|
141
138
|
version_requirements: !ruby/object:Gem::Requirement
|
142
139
|
requirements:
|
143
|
-
- - "~>"
|
144
|
-
- !ruby/object:Gem::Version
|
145
|
-
version: '1.0'
|
146
140
|
- - ">="
|
147
141
|
- !ruby/object:Gem::Version
|
148
|
-
version:
|
142
|
+
version: '0.19'
|
149
143
|
- !ruby/object:Gem::Dependency
|
150
144
|
name: colorize
|
151
145
|
requirement: !ruby/object:Gem::Requirement
|
@@ -913,6 +907,7 @@ files:
|
|
913
907
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dataset.yml
|
914
908
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dataset_usda.yml
|
915
909
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/date_in_future.yml
|
910
|
+
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dissertation.yml
|
916
911
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/empty_given_name.yml
|
917
912
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/invalid_date.yml
|
918
913
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article.yml
|
@@ -926,8 +921,10 @@ files:
|
|
926
921
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/missing_creator.yml
|
927
922
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/multiple_titles.yml
|
928
923
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/not_found_error.yml
|
924
|
+
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/peer_review.yml
|
929
925
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/posted_content.yml
|
930
926
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/posted_content_copernicus.yml
|
927
|
+
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/report_osti.yml
|
931
928
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/vor_with_url.yml
|
932
929
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/yet_another_book.yml
|
933
930
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/yet_another_book_chapter.yml
|
@@ -946,6 +943,7 @@ files:
|
|
946
943
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_only_full_name.yml
|
947
944
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_scheme.yml
|
948
945
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_wrong_orcid_scheme.yml
|
946
|
+
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/cc-by_3_0_us.yml
|
949
947
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/content_url.yml
|
950
948
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/date.yml
|
951
949
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/dissertation.yml
|