commonmeta-ruby 3.8.2 → 3.9.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +5 -4
- data/LICENSE.md +1 -1
- data/lib/commonmeta/metadata_utils.rb +2 -0
- data/lib/commonmeta/readers/commonmeta_reader.rb +20 -0
- data/lib/commonmeta/readers/json_feed_reader.rb +2 -1
- data/lib/commonmeta/schema_utils.rb +1 -1
- data/lib/commonmeta/utils.rb +3 -1
- data/lib/commonmeta/version.rb +1 -1
- data/resources/{commonmeta_v0.10.4.json → commonmeta_v0.10.5.json} +3 -2
- data/spec/fixtures/commonmeta.json +411 -0
- data/spec/readers/commonmeta_reader_spec.rb +56 -0
- data/spec/readers/json_feed_reader_spec.rb +16 -16
- data/spec/writers/crossref_xml_writer_spec.rb +8 -8
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cc0c7f6508a3b1d909c7726fa761c35f8fa213112bebded5779f75b200dbbac7
|
4
|
+
data.tar.gz: 1030041c2ec0ea94c01e3f079cb6aa3ce8a5b5aebd3c270a71341bf4e87396fe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a5446caf7d8cb8a32cf8fe4dbddbd11bade0cd68d577d80302c291540d61564b4268b51d846e406486b4ec26a1ae4682326fb79edf5d66de115f91ea845c5db0
|
7
|
+
data.tar.gz: 622d33b224c37ea1a131aad8efeef29ef9a80c4d536012fee61ca982b58dfca784a2edfaeed5d889f5a93b52d6d13da978d89e49000f50120cb8b9d71aa776a3
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
commonmeta-ruby (3.
|
4
|
+
commonmeta-ruby (3.9.0)
|
5
5
|
activesupport (>= 4.2.5, < 8.0)
|
6
6
|
addressable (~> 2.8.1, < 2.8.2)
|
7
7
|
base32-url (>= 0.7.0, < 1)
|
@@ -132,17 +132,18 @@ GEM
|
|
132
132
|
crass (~> 1.0.2)
|
133
133
|
nokogiri (>= 1.12.0)
|
134
134
|
matrix (0.4.2)
|
135
|
-
minitest (5.
|
135
|
+
minitest (5.21.1)
|
136
136
|
multi_json (1.15.0)
|
137
137
|
mutex_m (0.2.0)
|
138
|
-
namae (1.
|
138
|
+
namae (1.2.0)
|
139
|
+
racc (~> 1.7)
|
139
140
|
nokogiri (1.16.0-arm64-darwin)
|
140
141
|
racc (~> 1.4)
|
141
142
|
oj (3.16.3)
|
142
143
|
bigdecimal (>= 3.0)
|
143
144
|
optimist (3.1.0)
|
144
145
|
parallel (1.24.0)
|
145
|
-
parser (3.3.0.
|
146
|
+
parser (3.3.0.3)
|
146
147
|
ast (~> 2.4.1)
|
147
148
|
racc
|
148
149
|
postrank-uri (1.1)
|
data/LICENSE.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
MIT License
|
2
2
|
|
3
|
-
Copyright (c) 2017 - 2021 DataCite, 2021 Front Matter
|
3
|
+
Copyright (c) 2017 - 2021 DataCite, 2021 - 2024 Front Matter
|
4
4
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
@@ -10,6 +10,7 @@ require_relative 'readers/bibtex_reader'
|
|
10
10
|
require_relative 'readers/cff_reader'
|
11
11
|
require_relative 'readers/csl_reader'
|
12
12
|
require_relative 'readers/codemeta_reader'
|
13
|
+
require_relative 'readers/commonmeta_reader'
|
13
14
|
require_relative 'readers/crossref_reader'
|
14
15
|
require_relative 'readers/crossref_xml_reader'
|
15
16
|
require_relative 'readers/datacite_reader'
|
@@ -44,6 +45,7 @@ module Commonmeta
|
|
44
45
|
include Commonmeta::Readers::BibtexReader
|
45
46
|
include Commonmeta::Readers::CffReader
|
46
47
|
include Commonmeta::Readers::CodemetaReader
|
48
|
+
include Commonmeta::Readers::CommonmetaReader
|
47
49
|
include Commonmeta::Readers::CrossrefReader
|
48
50
|
include Commonmeta::Readers::CrossrefXmlReader
|
49
51
|
include Commonmeta::Readers::CslReader
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
module Commonmeta
|
4
|
+
module Readers
|
5
|
+
module CommonmetaReader
|
6
|
+
def read_commonmeta(string: nil, **options)
|
7
|
+
if string.present?
|
8
|
+
errors = jsonlint(string)
|
9
|
+
return { "errors" => errors } if errors.present?
|
10
|
+
end
|
11
|
+
|
12
|
+
read_options = ActiveSupport::HashWithIndifferentAccess.new(options.except(:doi, :id, :url,
|
13
|
+
:sandbox, :validate, :ra))
|
14
|
+
meta = string.present? ? JSON.parse(string) : {}
|
15
|
+
meta["schema_version"] = "https://commonmeta.org/commonmeta_v0.10.5.json"
|
16
|
+
meta.compact.merge(read_options)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -110,7 +110,8 @@ module Commonmeta
|
|
110
110
|
|
111
111
|
[{ "mimeType" => "text/markdown", "url" => "https://api.rogue-scholar.org/posts/#{doi}.md" },
|
112
112
|
{ "mimeType" => "application/pdf", "url" => "https://api.rogue-scholar.org/posts/#{doi}.pdf" },
|
113
|
-
{ "mimeType" => "application/epub+zip", "url" => "https://api.rogue-scholar.org/posts/#{doi}.epub" }
|
113
|
+
{ "mimeType" => "application/epub+zip", "url" => "https://api.rogue-scholar.org/posts/#{doi}.epub" },
|
114
|
+
{ "mimeType" => "application/xml", "url" => "https://api.rogue-scholar.org/posts/#{doi}.xml" }]
|
114
115
|
end
|
115
116
|
|
116
117
|
def get_references(meta)
|
@@ -5,7 +5,7 @@ require "pathname"
|
|
5
5
|
|
6
6
|
module Commonmeta
|
7
7
|
module SchemaUtils
|
8
|
-
COMMONMETA = File.read(File.expand_path("../../resources/commonmeta_v0.10.
|
8
|
+
COMMONMETA = File.read(File.expand_path("../../resources/commonmeta_v0.10.5.json",
|
9
9
|
__dir__))
|
10
10
|
|
11
11
|
def json_schema_errors
|
data/lib/commonmeta/utils.rb
CHANGED
@@ -497,7 +497,9 @@ module Commonmeta
|
|
497
497
|
def find_from_format_by_string(string)
|
498
498
|
begin # try to parse as JSON
|
499
499
|
hsh = MultiJson.load(string).to_h
|
500
|
-
if hsh.dig("
|
500
|
+
if hsh.dig("schema_version").to_s.start_with?("https://commonmeta.org")
|
501
|
+
return "commonmeta"
|
502
|
+
elsif hsh.dig("@context") && URI.parse(hsh.dig("@context")).host == "schema.org"
|
501
503
|
return "schema_org"
|
502
504
|
elsif hsh.dig("schemaVersion").to_s.start_with?("http://datacite.org/schema/kernel")
|
503
505
|
return "datacite"
|
data/lib/commonmeta/version.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
{
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
3
|
-
"$id": "https://commonmeta.org/commonmeta_v0.10.
|
4
|
-
"title": "Commonmeta v0.10.
|
3
|
+
"$id": "https://commonmeta.org/commonmeta_v0.10.5.json",
|
4
|
+
"title": "Commonmeta v0.10.5",
|
5
5
|
"description": "JSON representation of the Commonmeta schema.",
|
6
6
|
"additionalProperties": false,
|
7
7
|
"definitions": {
|
@@ -508,6 +508,7 @@
|
|
508
508
|
"description": "The schema version of the resource.",
|
509
509
|
"type": "string",
|
510
510
|
"enum": [
|
511
|
+
"https://commonmeta.org/commonmeta_v0.10.5.json",
|
511
512
|
"http://datacite.org/schema/kernel-3",
|
512
513
|
"http://datacite.org/schema/kernel-4"
|
513
514
|
]
|
@@ -0,0 +1,411 @@
|
|
1
|
+
{
|
2
|
+
"id": "https://doi.org/10.7554/elife.01567",
|
3
|
+
"type": "JournalArticle",
|
4
|
+
"url": "https://elifesciences.org/articles/01567",
|
5
|
+
"titles": [
|
6
|
+
{
|
7
|
+
"title": "Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth"
|
8
|
+
}
|
9
|
+
],
|
10
|
+
"contributors": [
|
11
|
+
{
|
12
|
+
"type": "Person",
|
13
|
+
"contributorRoles": ["Author"],
|
14
|
+
"givenName": "Martial",
|
15
|
+
"familyName": "Sankar",
|
16
|
+
"affiliation": [
|
17
|
+
{
|
18
|
+
"name": "Department of Plant Molecular Biology, University of Lausanne, Lausanne, Switzerland"
|
19
|
+
}
|
20
|
+
]
|
21
|
+
},
|
22
|
+
{
|
23
|
+
"type": "Person",
|
24
|
+
"contributorRoles": ["Author"],
|
25
|
+
"givenName": "Kaisa",
|
26
|
+
"familyName": "Nieminen",
|
27
|
+
"affiliation": [
|
28
|
+
{
|
29
|
+
"name": "Department of Plant Molecular Biology, University of Lausanne, Lausanne, Switzerland"
|
30
|
+
}
|
31
|
+
]
|
32
|
+
},
|
33
|
+
{
|
34
|
+
"type": "Person",
|
35
|
+
"contributorRoles": ["Author"],
|
36
|
+
"givenName": "Laura",
|
37
|
+
"familyName": "Ragni",
|
38
|
+
"affiliation": [
|
39
|
+
{
|
40
|
+
"name": "Department of Plant Molecular Biology, University of Lausanne, Lausanne, Switzerland"
|
41
|
+
}
|
42
|
+
]
|
43
|
+
},
|
44
|
+
{
|
45
|
+
"type": "Person",
|
46
|
+
"contributorRoles": ["Author"],
|
47
|
+
"givenName": "Ioannis",
|
48
|
+
"familyName": "Xenarios",
|
49
|
+
"affiliation": [
|
50
|
+
{
|
51
|
+
"name": "Vital-IT, Swiss Institute of Bioinformatics, Lausanne, Switzerland"
|
52
|
+
}
|
53
|
+
]
|
54
|
+
},
|
55
|
+
{
|
56
|
+
"type": "Person",
|
57
|
+
"contributorRoles": ["Author"],
|
58
|
+
"givenName": "Christian S",
|
59
|
+
"familyName": "Hardtke",
|
60
|
+
"affiliation": [
|
61
|
+
{
|
62
|
+
"name": "Department of Plant Molecular Biology, University of Lausanne, Lausanne, Switzerland"
|
63
|
+
}
|
64
|
+
]
|
65
|
+
}
|
66
|
+
],
|
67
|
+
"container": {
|
68
|
+
"type": "Journal",
|
69
|
+
"title": "eLife",
|
70
|
+
"identifier": "2050-084X",
|
71
|
+
"identifierType": "ISSN",
|
72
|
+
"volume": "3"
|
73
|
+
},
|
74
|
+
"publisher": {
|
75
|
+
"id": "https://api.crossref.org/members/4374",
|
76
|
+
"name": "eLife Sciences Publications, Ltd"
|
77
|
+
},
|
78
|
+
"references": [
|
79
|
+
{
|
80
|
+
"key": "bib1",
|
81
|
+
"doi": "https://doi.org/10.1038/nature02100",
|
82
|
+
"contributor": "Bonke",
|
83
|
+
"title": "APL regulates vascular tissue identity in Arabidopsis",
|
84
|
+
"publicationYear": "2003",
|
85
|
+
"volume": "426",
|
86
|
+
"firstPage": "181",
|
87
|
+
"containerTitle": "Nature"
|
88
|
+
},
|
89
|
+
{
|
90
|
+
"key": "bib2",
|
91
|
+
"doi": "https://doi.org/10.1534/genetics.109.104976",
|
92
|
+
"contributor": "Brenner",
|
93
|
+
"title": "In the beginning was the worm",
|
94
|
+
"publicationYear": "2009",
|
95
|
+
"volume": "182",
|
96
|
+
"firstPage": "413",
|
97
|
+
"containerTitle": "Genetics"
|
98
|
+
},
|
99
|
+
{
|
100
|
+
"key": "bib3",
|
101
|
+
"doi": "https://doi.org/10.1034/j.1399-3054.2002.1140413.x",
|
102
|
+
"contributor": "Chaffey",
|
103
|
+
"title": "Secondary xylem development in Arabidopsis: a model for wood formation",
|
104
|
+
"publicationYear": "2002",
|
105
|
+
"volume": "114",
|
106
|
+
"firstPage": "594",
|
107
|
+
"containerTitle": "Physiologia Plantarum"
|
108
|
+
},
|
109
|
+
{
|
110
|
+
"key": "bib4",
|
111
|
+
"doi": "https://doi.org/10.1162/089976601750399335",
|
112
|
+
"contributor": "Chang",
|
113
|
+
"title": "Training nu-support vector classifiers: theory and algorithms",
|
114
|
+
"publicationYear": "2001",
|
115
|
+
"volume": "13",
|
116
|
+
"firstPage": "2119",
|
117
|
+
"containerTitle": "Neural computation"
|
118
|
+
},
|
119
|
+
{
|
120
|
+
"key": "bib5",
|
121
|
+
"doi": "https://doi.org/10.1007/bf00994018",
|
122
|
+
"contributor": "Cortes",
|
123
|
+
"title": "Support-vector Networks",
|
124
|
+
"publicationYear": "1995",
|
125
|
+
"volume": "20",
|
126
|
+
"firstPage": "273",
|
127
|
+
"containerTitle": "Machine Learning"
|
128
|
+
},
|
129
|
+
{
|
130
|
+
"key": "bib6",
|
131
|
+
"doi": "https://doi.org/10.1242/dev.119.1.71",
|
132
|
+
"contributor": "Dolan",
|
133
|
+
"title": "Cellular organisation of the Arabidopsis thaliana root",
|
134
|
+
"publicationYear": "1993",
|
135
|
+
"volume": "119",
|
136
|
+
"firstPage": "71",
|
137
|
+
"containerTitle": "Development"
|
138
|
+
},
|
139
|
+
{
|
140
|
+
"key": "bib7",
|
141
|
+
"doi": "https://doi.org/10.1016/j.semcdb.2009.09.009",
|
142
|
+
"contributor": "Elo",
|
143
|
+
"title": "Stem cell function during plant vascular development",
|
144
|
+
"publicationYear": "2009",
|
145
|
+
"volume": "20",
|
146
|
+
"firstPage": "1097",
|
147
|
+
"containerTitle": "Seminars in Cell & Developmental Biology"
|
148
|
+
},
|
149
|
+
{
|
150
|
+
"key": "bib8",
|
151
|
+
"doi": "https://doi.org/10.1242/dev.091314",
|
152
|
+
"contributor": "Etchells",
|
153
|
+
"title": "WOX4 and WOX14 act downstream of the PXY receptor kinase to regulate plant vascular proliferation independently of any role in vascular organisation",
|
154
|
+
"publicationYear": "2013",
|
155
|
+
"volume": "140",
|
156
|
+
"firstPage": "2224",
|
157
|
+
"containerTitle": "Development"
|
158
|
+
},
|
159
|
+
{
|
160
|
+
"key": "bib9",
|
161
|
+
"doi": "https://doi.org/10.1371/journal.pgen.1002997",
|
162
|
+
"contributor": "Etchells",
|
163
|
+
"title": "Plant vascular cell division is maintained by an interaction between PXY and ethylene signalling",
|
164
|
+
"publicationYear": "2012",
|
165
|
+
"volume": "8",
|
166
|
+
"firstPage": "e1002997",
|
167
|
+
"containerTitle": "PLOS Genetics"
|
168
|
+
},
|
169
|
+
{
|
170
|
+
"key": "bib10",
|
171
|
+
"doi": "https://doi.org/10.1038/msb.2010.25",
|
172
|
+
"contributor": "Fuchs",
|
173
|
+
"title": "Clustering phenotype populations by genome-wide RNAi and multiparametric imaging",
|
174
|
+
"publicationYear": "2010",
|
175
|
+
"volume": "6",
|
176
|
+
"firstPage": "370",
|
177
|
+
"containerTitle": "Molecular Systems Biology"
|
178
|
+
},
|
179
|
+
{
|
180
|
+
"key": "bib11",
|
181
|
+
"doi": "https://doi.org/10.1016/j.biosystems.2012.07.004",
|
182
|
+
"contributor": "Granqvist",
|
183
|
+
"title": "BaSAR-A tool in R for frequency detection",
|
184
|
+
"publicationYear": "2012",
|
185
|
+
"volume": "110",
|
186
|
+
"firstPage": "60",
|
187
|
+
"containerTitle": "Bio Systems"
|
188
|
+
},
|
189
|
+
{
|
190
|
+
"key": "bib12",
|
191
|
+
"doi": "https://doi.org/10.1016/j.pbi.2005.11.013",
|
192
|
+
"contributor": "Groover",
|
193
|
+
"title": "Developmental mechanisms regulating secondary growth in woody plants",
|
194
|
+
"publicationYear": "2006",
|
195
|
+
"volume": "9",
|
196
|
+
"firstPage": "55",
|
197
|
+
"containerTitle": "Current Opinion in Plant Biology"
|
198
|
+
},
|
199
|
+
{
|
200
|
+
"key": "bib13",
|
201
|
+
"doi": "https://doi.org/10.1105/tpc.110.076083",
|
202
|
+
"contributor": "Hirakawa",
|
203
|
+
"title": "TDIF peptide signaling regulates vascular stem cell proliferation via the WOX4 homeobox gene in Arabidopsis",
|
204
|
+
"publicationYear": "2010",
|
205
|
+
"volume": "22",
|
206
|
+
"firstPage": "2618",
|
207
|
+
"containerTitle": "Plant Cell"
|
208
|
+
},
|
209
|
+
{
|
210
|
+
"key": "bib14",
|
211
|
+
"doi": "https://doi.org/10.1073/pnas.0808444105",
|
212
|
+
"contributor": "Hirakawa",
|
213
|
+
"title": "Non-cell-autonomous control of vascular stem cell fate by a CLE peptide/receptor system",
|
214
|
+
"publicationYear": "2008",
|
215
|
+
"volume": "105",
|
216
|
+
"firstPage": "15208",
|
217
|
+
"containerTitle": "Proceedings of the National Academy of Sciences of the United States of America"
|
218
|
+
},
|
219
|
+
{
|
220
|
+
"key": "bib15",
|
221
|
+
"doi": "https://doi.org/10.1016/0092-8674(89)90900-8",
|
222
|
+
"contributor": "Meyerowitz",
|
223
|
+
"title": "Arabidopsis, a useful weed",
|
224
|
+
"publicationYear": "1989",
|
225
|
+
"volume": "56",
|
226
|
+
"firstPage": "263",
|
227
|
+
"containerTitle": "Cell"
|
228
|
+
},
|
229
|
+
{
|
230
|
+
"key": "bib16",
|
231
|
+
"doi": "https://doi.org/10.1126/science.1066609",
|
232
|
+
"contributor": "Meyerowitz",
|
233
|
+
"title": "Plants compared to animals: the broadest comparative study of development",
|
234
|
+
"publicationYear": "2002",
|
235
|
+
"volume": "295",
|
236
|
+
"firstPage": "1482",
|
237
|
+
"containerTitle": "Science"
|
238
|
+
},
|
239
|
+
{
|
240
|
+
"key": "bib17",
|
241
|
+
"doi": "https://doi.org/10.1104/pp.104.040212",
|
242
|
+
"contributor": "Nieminen",
|
243
|
+
"title": "A weed for wood? Arabidopsis as a genetic model for xylem development",
|
244
|
+
"publicationYear": "2004",
|
245
|
+
"volume": "135",
|
246
|
+
"firstPage": "653",
|
247
|
+
"containerTitle": "Plant Physiol"
|
248
|
+
},
|
249
|
+
{
|
250
|
+
"key": "bib18",
|
251
|
+
"doi": "https://doi.org/10.1038/nbt1206-1565",
|
252
|
+
"contributor": "Noble",
|
253
|
+
"title": "What is a support vector machine?",
|
254
|
+
"publicationYear": "2006",
|
255
|
+
"volume": "24",
|
256
|
+
"firstPage": "1565",
|
257
|
+
"containerTitle": "Nature Biotechnology"
|
258
|
+
},
|
259
|
+
{
|
260
|
+
"key": "bib19",
|
261
|
+
"doi": "https://doi.org/10.1073/pnas.77.3.1516",
|
262
|
+
"contributor": "Olson",
|
263
|
+
"title": "Classification of cultured mammalian cells by shape analysis and pattern recognition",
|
264
|
+
"publicationYear": "1980",
|
265
|
+
"volume": "77",
|
266
|
+
"firstPage": "1516",
|
267
|
+
"containerTitle": "Proceedings of the National Academy of Sciences of the United States of America"
|
268
|
+
},
|
269
|
+
{
|
270
|
+
"key": "bib20",
|
271
|
+
"doi": "https://doi.org/10.1093/bioinformatics/btq046",
|
272
|
+
"contributor": "Pau",
|
273
|
+
"title": "EBImage–an R package for image processing with applications to cellular phenotypes",
|
274
|
+
"publicationYear": "2010",
|
275
|
+
"volume": "26",
|
276
|
+
"firstPage": "979",
|
277
|
+
"containerTitle": "Bioinformatics"
|
278
|
+
},
|
279
|
+
{
|
280
|
+
"key": "bib21",
|
281
|
+
"doi": "https://doi.org/10.1105/tpc.111.084020",
|
282
|
+
"contributor": "Ragni",
|
283
|
+
"title": "Mobile gibberellin directly stimulates Arabidopsis hypocotyl xylem expansion",
|
284
|
+
"publicationYear": "2011",
|
285
|
+
"volume": "23",
|
286
|
+
"firstPage": "1322",
|
287
|
+
"containerTitle": "Plant Cell"
|
288
|
+
},
|
289
|
+
{
|
290
|
+
"key": "bib22",
|
291
|
+
"doi": "https://doi.org/10.5061/dryad.b835k",
|
292
|
+
"contributor": "Sankar",
|
293
|
+
"title": "Data from: Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth",
|
294
|
+
"publicationYear": "2014",
|
295
|
+
"containerTitle": "Dryad Digital Repository"
|
296
|
+
},
|
297
|
+
{
|
298
|
+
"key": "bib23",
|
299
|
+
"doi": "https://doi.org/10.1016/j.cub.2008.02.070",
|
300
|
+
"contributor": "Sibout",
|
301
|
+
"title": "Flowering as a condition for xylem expansion in Arabidopsis hypocotyl and root",
|
302
|
+
"publicationYear": "2008",
|
303
|
+
"volume": "18",
|
304
|
+
"firstPage": "458",
|
305
|
+
"containerTitle": "Current Biology"
|
306
|
+
},
|
307
|
+
{
|
308
|
+
"key": "bib24",
|
309
|
+
"doi": "https://doi.org/10.1111/j.1469-8137.2010.03236.x",
|
310
|
+
"contributor": "Spicer",
|
311
|
+
"title": "Evolution of development of vascular cambia and secondary growth",
|
312
|
+
"publicationYear": "2010",
|
313
|
+
"volume": "186",
|
314
|
+
"firstPage": "577",
|
315
|
+
"containerTitle": "The New Phytologist"
|
316
|
+
},
|
317
|
+
{
|
318
|
+
"key": "bib25",
|
319
|
+
"doi": "https://doi.org/10.1007/s00138-011-0345-9",
|
320
|
+
"contributor": "Theriault",
|
321
|
+
"title": "Cell morphology classification and clutter mitigation in phase-contrast microscopy images using machine learning",
|
322
|
+
"publicationYear": "2012",
|
323
|
+
"volume": "23",
|
324
|
+
"firstPage": "659",
|
325
|
+
"containerTitle": "Machine Vision and Applications"
|
326
|
+
},
|
327
|
+
{
|
328
|
+
"key": "bib26",
|
329
|
+
"doi": "https://doi.org/10.1016/j.cell.2012.02.048",
|
330
|
+
"contributor": "Uyttewaal",
|
331
|
+
"title": "Mechanical stress acts via katanin to amplify differences in growth rate between adjacent cells in Arabidopsis",
|
332
|
+
"publicationYear": "2012",
|
333
|
+
"volume": "149",
|
334
|
+
"firstPage": "439",
|
335
|
+
"containerTitle": "Cell"
|
336
|
+
},
|
337
|
+
{
|
338
|
+
"key": "bib27",
|
339
|
+
"doi": "https://doi.org/10.1038/ncb2764",
|
340
|
+
"contributor": "Yin",
|
341
|
+
"title": "A screen for morphological complexity identifies regulators of switch-like transitions between discrete cell shapes",
|
342
|
+
"publicationYear": "2013",
|
343
|
+
"volume": "15",
|
344
|
+
"firstPage": "860",
|
345
|
+
"containerTitle": "Nature Cell Biology"
|
346
|
+
}
|
347
|
+
],
|
348
|
+
"date": {
|
349
|
+
"published": "2014-02-11",
|
350
|
+
"updated": "2022-03-26"
|
351
|
+
},
|
352
|
+
"descriptions": [
|
353
|
+
{
|
354
|
+
"description": "Among various advantages, their small size makes model organisms preferred subjects of investigation. Yet, even in model systems detailed analysis of numerous developmental processes at cellular level is severely hampered by their scale. For instance, secondary growth of Arabidopsis hypocotyls creates a radial pattern of highly specialized tissues that comprises several thousand cells starting from a few dozen. This dynamic process is difficult to follow because of its scale and because it can only be investigated invasively, precluding comprehensive understanding of the cell proliferation, differentiation, and patterning events involved. To overcome such limitation, we established an automated quantitative histology approach. We acquired hypocotyl cross-sections from tiled high-resolution images and extracted their information content using custom high-throughput image processing and segmentation. Coupled with automated cell type recognition through machine learning, we could establish a cellular resolution atlas that reveals vascular morphodynamics during secondary growth, for example equidistant phloem pole formation.",
|
355
|
+
"descriptionType": "Abstract"
|
356
|
+
}
|
357
|
+
],
|
358
|
+
"license": {
|
359
|
+
"id": "CC-BY-3.0",
|
360
|
+
"url": "https://creativecommons.org/licenses/by/3.0/legalcode"
|
361
|
+
},
|
362
|
+
"alternate_identifiers": [],
|
363
|
+
"funding_references": [
|
364
|
+
{
|
365
|
+
"funderName": "SystemsX"
|
366
|
+
},
|
367
|
+
{
|
368
|
+
"funderName": "EMBO longterm post-doctoral fellowships"
|
369
|
+
},
|
370
|
+
{
|
371
|
+
"funderName": "Marie Heim-Voegtlin"
|
372
|
+
},
|
373
|
+
{
|
374
|
+
"funderName": "University of Lausanne",
|
375
|
+
"funderIdentifier": "https://doi.org/10.13039/501100006390",
|
376
|
+
"funderIdentifierType": "Crossref Funder ID"
|
377
|
+
},
|
378
|
+
{
|
379
|
+
"funderName": "SystemsX"
|
380
|
+
},
|
381
|
+
{
|
382
|
+
"funderName": "EMBO",
|
383
|
+
"funderIdentifier": "https://doi.org/10.13039/501100003043",
|
384
|
+
"funderIdentifierType": "Crossref Funder ID"
|
385
|
+
},
|
386
|
+
{
|
387
|
+
"funderName": "Swiss National Science Foundation",
|
388
|
+
"funderIdentifier": "https://doi.org/10.13039/501100001711",
|
389
|
+
"funderIdentifierType": "Crossref Funder ID"
|
390
|
+
},
|
391
|
+
{
|
392
|
+
"funderName": "University of Lausanne",
|
393
|
+
"funderIdentifier": "https://doi.org/10.13039/501100006390",
|
394
|
+
"funderIdentifierType": "Crossref Funder ID"
|
395
|
+
}
|
396
|
+
],
|
397
|
+
"files": [
|
398
|
+
{
|
399
|
+
"url": "https://cdn.elifesciences.org/articles/01567/elife-01567-v1.pdf",
|
400
|
+
"mimeType": "application/pdf"
|
401
|
+
},
|
402
|
+
{
|
403
|
+
"url": "https://cdn.elifesciences.org/articles/01567/elife-01567-v1.xml",
|
404
|
+
"mimeType": "application/xml"
|
405
|
+
}
|
406
|
+
],
|
407
|
+
"subjects": [],
|
408
|
+
"provider": "Crossref",
|
409
|
+
"schema_version": "https://commonmeta.org/commonmeta_v0.10.5.json",
|
410
|
+
"state": "findable"
|
411
|
+
}
|
@@ -0,0 +1,56 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe Commonmeta::Metadata, vcr: true do
|
6
|
+
subject { described_class.new(input: input) }
|
7
|
+
|
8
|
+
let(:input) { "#{fixture_path}commonmeta.json" }
|
9
|
+
|
10
|
+
context 'read commonmeta metadata' do
|
11
|
+
it "default" do
|
12
|
+
expect(subject.valid?).to be true
|
13
|
+
expect(subject.schema_version).to eq("https://commonmeta.org/commonmeta_v0.10.5.json")
|
14
|
+
expect(subject.id).to eq("https://doi.org/10.7554/elife.01567")
|
15
|
+
expect(subject.type).to eq("JournalArticle")
|
16
|
+
expect(subject.url).to eq("https://elifesciences.org/articles/01567")
|
17
|
+
expect(subject.contributors.length).to eq(5)
|
18
|
+
expect(subject.contributors.first).to eq("type" => "Person", "contributorRoles" => ["Author"],
|
19
|
+
"givenName" => "Martial", "familyName" => "Sankar", "affiliation" => [{ "name" => "Department of Plant Molecular Biology, University of Lausanne, Lausanne, Switzerland" }])
|
20
|
+
expect(subject.license).to eq("id" => "CC-BY-3.0",
|
21
|
+
"url" => "https://creativecommons.org/licenses/by/3.0/legalcode")
|
22
|
+
expect(subject.titles).to eq([{ "title" => "Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth" }])
|
23
|
+
expect(subject.date).to eq("published" => "2014-02-11", "updated" => "2022-03-26")
|
24
|
+
expect(subject.publisher).to eq("id" => "https://api.crossref.org/members/4374",
|
25
|
+
"name" => "eLife Sciences Publications, Ltd")
|
26
|
+
expect(subject.container).to eq("identifier" => "2050-084X",
|
27
|
+
"identifierType" => "ISSN", "title" => "eLife", "type" => "Journal", "volume" => "3")
|
28
|
+
expect(subject.references.length).to eq(27)
|
29
|
+
expect(subject.references.last).to eq("containerTitle" => "Nature Cell Biology",
|
30
|
+
"contributor" => "Yin",
|
31
|
+
"doi" => "https://doi.org/10.1038/ncb2764",
|
32
|
+
"firstPage" => "860",
|
33
|
+
"key" => "bib27",
|
34
|
+
"publicationYear" => "2013",
|
35
|
+
"title" => "A screen for morphological complexity identifies regulators of switch-like transitions between discrete cell shapes",
|
36
|
+
"volume" => "15")
|
37
|
+
expect(subject.funding_references).to eq([{ "funderName" => "SystemsX" },
|
38
|
+
{ "funderName" => "EMBO longterm post-doctoral fellowships" },
|
39
|
+
{ "funderName" => "Marie Heim-Voegtlin" },
|
40
|
+
{ "funderIdentifier" => "https://doi.org/10.13039/501100006390",
|
41
|
+
"funderIdentifierType" => "Crossref Funder ID",
|
42
|
+
"funderName" => "University of Lausanne" },
|
43
|
+
{ "funderName" => "SystemsX" },
|
44
|
+
{ "funderIdentifier" => "https://doi.org/10.13039/501100003043",
|
45
|
+
"funderIdentifierType" => "Crossref Funder ID",
|
46
|
+
"funderName" => "EMBO" },
|
47
|
+
{ "funderIdentifier" => "https://doi.org/10.13039/501100001711",
|
48
|
+
"funderIdentifierType" => "Crossref Funder ID",
|
49
|
+
"funderName" => "Swiss National Science Foundation" },
|
50
|
+
{ "funderIdentifier" => "https://doi.org/10.13039/501100006390",
|
51
|
+
"funderIdentifierType" => "Crossref Funder ID",
|
52
|
+
"funderName" => "University of Lausanne" }])
|
53
|
+
expect(subject.provider).to eq("Crossref")
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
@@ -36,7 +36,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
36
36
|
# expect(subject.valid?).to be true
|
37
37
|
expect(subject.id).to eq("https://doi.org/10.53731/4nwxn-frt36")
|
38
38
|
expect(subject.url).to eq("https://blog.front-matter.io/posts/does-it-compose")
|
39
|
-
expect(subject.files.length).to eq(
|
39
|
+
expect(subject.files.length).to eq(4)
|
40
40
|
expect(subject.files[1]).to eq("mimeType" => "application/pdf", "url" => "https://api.rogue-scholar.org/posts/10.53731/4nwxn-frt36.pdf")
|
41
41
|
expect(subject.alternate_identifiers).to eq([{ "alternateIdentifier" => "5bb66e92-5cb9-4659-8aca-20e486b695c9", "alternateIdentifierType" => "UUID" }])
|
42
42
|
expect(subject.type).to eq("Article")
|
@@ -62,7 +62,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
62
62
|
# expect(subject.valid?).to be true
|
63
63
|
expect(subject.id).to eq("https://doi.org/10.53731/r79v4e1-97aq74v-ag578")
|
64
64
|
expect(subject.url).to eq("https://blog.front-matter.io/posts/differences-between-orcid-and-datacite-metadata")
|
65
|
-
expect(subject.files.length).to eq(
|
65
|
+
expect(subject.files.length).to eq(4)
|
66
66
|
expect(subject.files[1]).to eq("mimeType" => "application/pdf", "url" => "https://api.rogue-scholar.org/posts/10.53731/r79v4e1-97aq74v-ag578.pdf")
|
67
67
|
expect(subject.alternate_identifiers).to eq([{ "alternateIdentifier" => "8a4de443-3347-4b82-b57d-e3c82b6485fc", "alternateIdentifierType" => "UUID" }])
|
68
68
|
expect(subject.type).to eq("Article")
|
@@ -89,7 +89,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
89
89
|
# expect(subject.valid?).to be true
|
90
90
|
expect(subject.id).to eq("https://doi.org/10.53731/r294649-6f79289-8cw18")
|
91
91
|
expect(subject.url).to eq("https://blog.front-matter.io/posts/nine-simple-ways-to-make-it-easier-to-re-use-your-data")
|
92
|
-
expect(subject.files.length).to eq(
|
92
|
+
expect(subject.files.length).to eq(4)
|
93
93
|
expect(subject.files[1]).to eq("mimeType" => "application/pdf", "url" => "https://api.rogue-scholar.org/posts/10.53731/r294649-6f79289-8cw18.pdf")
|
94
94
|
expect(subject.alternate_identifiers).to eq([{ "alternateIdentifier" => "2bdebfc5-e02e-42c2-90c5-e873e2d0435d", "alternateIdentifierType" => "UUID" }])
|
95
95
|
expect(subject.type).to eq("Article")
|
@@ -116,7 +116,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
116
116
|
# expect(subject.valid?).to be true
|
117
117
|
expect(subject.id).to eq("https://doi.org/10.53731/r79s4nh-97aq74v-ag4t1")
|
118
118
|
expect(subject.url).to eq("https://blog.front-matter.io/posts/tracking-the-growth-of-the-pid-graph")
|
119
|
-
expect(subject.files.length).to eq(
|
119
|
+
expect(subject.files.length).to eq(4)
|
120
120
|
expect(subject.files[1]).to eq("mimeType" => "application/pdf", "url" => "https://api.rogue-scholar.org/posts/10.53731/r79s4nh-97aq74v-ag4t1.pdf")
|
121
121
|
expect(subject.alternate_identifiers).to eq([{ "alternateIdentifier" => "e58dc9c8-b870-4db2-8896-238b3246c551", "alternateIdentifierType" => "UUID" }])
|
122
122
|
expect(subject.type).to eq("Article")
|
@@ -195,7 +195,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
195
195
|
# expect(subject.valid?).to be true
|
196
196
|
expect(subject.id).to eq("https://doi.org/10.53731/ffbx660-083tnag")
|
197
197
|
expect(subject.url).to eq("https://syldavia-gazette.org/guinea-worms-chatgpt-neanderthals")
|
198
|
-
expect(subject.files.length).to eq(
|
198
|
+
expect(subject.files.length).to eq(4)
|
199
199
|
expect(subject.files[1]).to eq("mimeType" => "application/pdf", "url" => "https://api.rogue-scholar.org/posts/10.53731/ffbx660-083tnag.pdf")
|
200
200
|
expect(subject.alternate_identifiers).to eq([{ "alternateIdentifier" => "0022b9ef-525a-4a79-81ad-13411697f58a", "alternateIdentifierType" => "UUID" }])
|
201
201
|
expect(subject.type).to eq("Article")
|
@@ -220,7 +220,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
220
220
|
# expect(subject.valid?).to be true
|
221
221
|
expect(subject.id).to eq("https://doi.org/10.59350/kz04m-s8z58")
|
222
222
|
expect(subject.url).to eq("https://wisspub.net/2023/05/23/eu-mitgliedstaaten-betonen-die-rolle-von-wissenschaftsgeleiteten-open-access-modellen-jenseits-von-apcs")
|
223
|
-
expect(subject.files.length).to eq(
|
223
|
+
expect(subject.files.length).to eq(4)
|
224
224
|
expect(subject.files[1]).to eq("mimeType" => "application/pdf", "url" => "https://api.rogue-scholar.org/posts/10.59350/kz04m-s8z58.pdf")
|
225
225
|
expect(subject.alternate_identifiers).to eq([{ "alternateIdentifier" => "1c578558-1324-4493-b8af-84c49eabc52f", "alternateIdentifierType" => "UUID" }])
|
226
226
|
expect(subject.type).to eq("Article")
|
@@ -246,7 +246,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
246
246
|
# expect(subject.valid?).to be true
|
247
247
|
expect(subject.id).to eq("https://doi.org/10.59350/faeph-x4x84")
|
248
248
|
expect(subject.url).to eq("https://wayback.archive-it.org/22143/20231103191454/https://project-thor.eu/2016/08/10/orcid-integration-in-pangaea")
|
249
|
-
expect(subject.files.length).to eq(
|
249
|
+
expect(subject.files.length).to eq(4)
|
250
250
|
expect(subject.files[1]).to eq("mimeType" => "application/pdf", "url" => "https://api.rogue-scholar.org/posts/10.59350/faeph-x4x84.pdf")
|
251
251
|
expect(subject.alternate_identifiers).to eq([{ "alternateIdentifier" => "570c8129-e867-49e6-8517-bd783627e76e", "alternateIdentifierType" => "UUID" }])
|
252
252
|
expect(subject.type).to eq("Article")
|
@@ -278,7 +278,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
278
278
|
# expect(subject.valid?).to be true
|
279
279
|
expect(subject.id).to eq("https://doi.org/10.59350/hke8v-d1e66")
|
280
280
|
expect(subject.url).to eq("https://svpow.com/2023/06/09/new-paper-curtice-et-al-2023-on-the-first-haplocanthosaurus-from-dry-mesa")
|
281
|
-
expect(subject.files.length).to eq(
|
281
|
+
expect(subject.files.length).to eq(4)
|
282
282
|
expect(subject.files[1]).to eq("mimeType" => "application/pdf", "url" => "https://api.rogue-scholar.org/posts/10.59350/hke8v-d1e66.pdf")
|
283
283
|
expect(subject.type).to eq("Article")
|
284
284
|
expect(subject.contributors.length).to eq(1)
|
@@ -305,7 +305,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
305
305
|
# expect(subject.valid?).to be true
|
306
306
|
expect(subject.id).to eq("https://doi.org/10.59350/tpa8t-j6292")
|
307
307
|
expect(subject.url).to eq("https://www.samuelmoore.org/2023/04/20/how-to-cultivate-good-closures-scaling-small-and-the-limits-of-openness")
|
308
|
-
expect(subject.files.length).to eq(
|
308
|
+
expect(subject.files.length).to eq(4)
|
309
309
|
expect(subject.files[1]).to eq("mimeType" => "application/pdf", "url" => "https://api.rogue-scholar.org/posts/10.59350/tpa8t-j6292.pdf")
|
310
310
|
expect(subject.type).to eq("Article")
|
311
311
|
expect(subject.contributors.length).to eq(1)
|
@@ -331,7 +331,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
331
331
|
# expect(subject.valid?).to be true
|
332
332
|
expect(subject.id).to eq("https://doi.org/10.59350/tfahc-rp566")
|
333
333
|
expect(subject.url).to eq("https://blog.oa.works/nature-features-oa-reports-work-putting-oa-policy-into-practice")
|
334
|
-
expect(subject.files.length).to eq(
|
334
|
+
expect(subject.files.length).to eq(4)
|
335
335
|
expect(subject.files[1]).to eq("mimeType" => "application/pdf", "url" => "https://api.rogue-scholar.org/posts/10.59350/tfahc-rp566.pdf")
|
336
336
|
expect(subject.type).to eq("Article")
|
337
337
|
expect(subject.contributors.length).to eq(1)
|
@@ -382,7 +382,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
382
382
|
# expect(subject.valid?).to be true
|
383
383
|
expect(subject.id).to eq("https://doi.org/10.59350/zwdq7-waa43")
|
384
384
|
expect(subject.url).to eq("https://citationstyles.org/2020/07/11/seeking-public-comment-on-CSL-1-0-2")
|
385
|
-
expect(subject.files.length).to eq(
|
385
|
+
expect(subject.files.length).to eq(4)
|
386
386
|
expect(subject.files[1]).to eq("mimeType" => "application/pdf", "url" => "https://api.rogue-scholar.org/posts/10.59350/zwdq7-waa43.pdf")
|
387
387
|
expect(subject.alternate_identifiers).to eq([{ "alternateIdentifier" => "efdacb04-bcec-49d7-b689-ab3eab0634bf", "alternateIdentifierType" => "UUID" }])
|
388
388
|
expect(subject.type).to eq("Article")
|
@@ -409,7 +409,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
409
409
|
# expect(subject.valid?).to be true
|
410
410
|
expect(subject.id).to eq("https://doi.org/10.59350/2shz7-ehx26")
|
411
411
|
expect(subject.url).to eq("https://libscie.org/ku-leuven-supports-researchequals")
|
412
|
-
expect(subject.files.length).to eq(
|
412
|
+
expect(subject.files.length).to eq(4)
|
413
413
|
expect(subject.files[1]).to eq("mimeType" => "application/pdf", "url" => "https://api.rogue-scholar.org/posts/10.59350/2shz7-ehx26.pdf")
|
414
414
|
expect(subject.alternate_identifiers).to eq([{ "alternateIdentifier" => "5561f8e4-2ff1-4186-a8d5-8dacb3afe414", "alternateIdentifierType" => "UUID" }])
|
415
415
|
expect(subject.type).to eq("Article")
|
@@ -436,7 +436,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
436
436
|
# expect(subject.valid?).to be true
|
437
437
|
expect(subject.id).to eq("https://doi.org/10.59350/33es7-fqz31")
|
438
438
|
expect(subject.url).to eq("https://lab.sub.uni-goettingen.de/welcome.html")
|
439
|
-
expect(subject.files.length).to eq(
|
439
|
+
expect(subject.files.length).to eq(4)
|
440
440
|
expect(subject.files[1]).to eq("mimeType" => "application/pdf", "url" => "https://api.rogue-scholar.org/posts/10.59350/33es7-fqz31.pdf")
|
441
441
|
expect(subject.alternate_identifiers).to eq([{ "alternateIdentifier" => "a163e340-5b3c-4736-9ab0-8c54fdff6a3c", "alternateIdentifierType" => "UUID" }])
|
442
442
|
expect(subject.type).to eq("Article")
|
@@ -463,7 +463,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
463
463
|
# expect(subject.valid?).to be true
|
464
464
|
expect(subject.id).to eq("https://doi.org/10.59350/63055-a8604")
|
465
465
|
expect(subject.url).to eq("http://sfmatheson.blogspot.com/2023/01/quintessence-of-dust-2023-restart-why.html")
|
466
|
-
expect(subject.files.length).to eq(
|
466
|
+
expect(subject.files.length).to eq(4)
|
467
467
|
expect(subject.files[1]).to eq("mimeType" => "application/pdf", "url" => "https://api.rogue-scholar.org/posts/10.59350/63055-a8604.pdf")
|
468
468
|
expect(subject.alternate_identifiers).to eq([{ "alternateIdentifier" => "1898d2d7-4d87-4487-96c4-3073cf99e9a5", "alternateIdentifierType" => "UUID" }])
|
469
469
|
expect(subject.type).to eq("Article")
|
@@ -490,7 +490,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
490
490
|
# expect(subject.valid?).to be true
|
491
491
|
expect(subject.id).to eq("https://doi.org/10.59350/9gfjs-pey70")
|
492
492
|
expect(subject.url).to eq("https://flavoursofopen.science/grundlagen-fur-die-entwicklung-einer-open-scholarship-strategie")
|
493
|
-
expect(subject.files.length).to eq(
|
493
|
+
expect(subject.files.length).to eq(4)
|
494
494
|
expect(subject.files[1]).to eq("mimeType" => "application/pdf", "url" => "https://api.rogue-scholar.org/posts/10.59350/9gfjs-pey70.pdf")
|
495
495
|
expect(subject.alternate_identifiers).to eq([{ "alternateIdentifier" => "f3dc29da-0481-4f3b-8110-4c07260fca67", "alternateIdentifierType" => "UUID" }])
|
496
496
|
expect(subject.type).to eq("Article")
|
@@ -518,7 +518,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
518
518
|
# expect(subject.valid?).to be true
|
519
519
|
expect(subject.id).to eq("https://doi.org/10.59350/bbcsr-r4b59")
|
520
520
|
expect(subject.url).to eq("https://markrubin.substack.com/p/the-preregistration-prescriptiveness")
|
521
|
-
expect(subject.files.length).to eq(
|
521
|
+
expect(subject.files.length).to eq(4)
|
522
522
|
expect(subject.files[1]).to eq("mimeType" => "application/pdf", "url" => "https://api.rogue-scholar.org/posts/10.59350/bbcsr-r4b59.pdf")
|
523
523
|
expect(subject.alternate_identifiers).to eq([{ "alternateIdentifier" => "2b105b29-acbc-4eae-9ff1-368803f36a4d", "alternateIdentifierType" => "UUID" }])
|
524
524
|
expect(subject.type).to eq("Article")
|
@@ -232,7 +232,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
232
232
|
"title")).to eq("Attempts at automating journal subject classification")
|
233
233
|
expect(crossref_xml.dig("item_number")).to eq("__content__" => "5d14ffacb9ac4e20bdc0d9248df4e80d", "item_number_type" => "uuid")
|
234
234
|
expect(crossref_xml.dig("group_title")).to eq("Humanities")
|
235
|
-
expect(crossref_xml.dig("doi_data", "collection", "item").length).to eq(
|
235
|
+
expect(crossref_xml.dig("doi_data", "collection", "item").length).to eq(5)
|
236
236
|
expect(crossref_xml.dig("doi_data", "collection", "item", 2, "resource")).to eq("__content__" => "https://api.rogue-scholar.org/posts/10.54900/n6dnt-xpq48.pdf", "mime_type" => "application/pdf")
|
237
237
|
end
|
238
238
|
|
@@ -266,7 +266,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
266
266
|
expect(crossref_xml.dig("citation_list", "citation").last).to eq("article_title" => "The Research Software Alliance (ReSA) and the community landscape", "cYear" => "2020", "doi" => "10.5281/zenodo.3699950", "key" => "ref11")
|
267
267
|
expect(crossref_xml.dig("item_number")).to eq("__content__" => "954f81380ecd409087c5cef1297f1470", "item_number_type" => "uuid")
|
268
268
|
expect(crossref_xml.dig("group_title")).to eq("Humanities")
|
269
|
-
expect(crossref_xml.dig("doi_data", "collection", "item").length).to eq(
|
269
|
+
expect(crossref_xml.dig("doi_data", "collection", "item").length).to eq(5)
|
270
270
|
expect(crossref_xml.dig("doi_data", "collection", "item", 2, "resource")).to eq("__content__" => "https://api.rogue-scholar.org/posts/10.54900/zwm7q-vet94.pdf", "mime_type" => "application/pdf")
|
271
271
|
end
|
272
272
|
|
@@ -297,7 +297,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
297
297
|
"title")).to eq("EU-Mitgliedstaaten betonen die Rolle von wissenschaftsgeleiteten Open-Access-Modellen jenseits von APCs")
|
298
298
|
expect(crossref_xml.dig("item_number")).to eq("__content__" => "1c57855813244493b8af84c49eabc52f", "item_number_type" => "uuid")
|
299
299
|
expect(crossref_xml.dig("group_title")).to eq("Social sciences")
|
300
|
-
expect(crossref_xml.dig("doi_data", "collection", "item").length).to eq(
|
300
|
+
expect(crossref_xml.dig("doi_data", "collection", "item").length).to eq(5)
|
301
301
|
expect(crossref_xml.dig("doi_data", "collection", "item", 2, "resource")).to eq("__content__" => "https://api.rogue-scholar.org/posts/10.59350/9ry27-7cz42.pdf", "mime_type" => "application/pdf")
|
302
302
|
end
|
303
303
|
|
@@ -327,7 +327,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
327
327
|
"title")).to eq("KU Leuven supports ResearchEquals")
|
328
328
|
expect(crossref_xml.dig("item_number")).to eq("__content__" => "5561f8e42ff14186a8d58dacb3afe414", "item_number_type" => "uuid")
|
329
329
|
expect(crossref_xml.dig("group_title")).to eq("Social sciences")
|
330
|
-
expect(crossref_xml.dig("doi_data", "collection", "item").length).to eq(
|
330
|
+
expect(crossref_xml.dig("doi_data", "collection", "item").length).to eq(5)
|
331
331
|
expect(crossref_xml.dig("doi_data", "collection", "item", 2, "resource")).to eq("__content__" => "https://api.rogue-scholar.org/posts/10.59350/9ry27-7cz42.pdf", "mime_type" => "application/pdf")
|
332
332
|
end
|
333
333
|
|
@@ -368,7 +368,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
368
368
|
"title")).to eq("ORCID Integration Series: PANGAEA")
|
369
369
|
expect(crossref_xml.dig("item_number")).to eq("__content__" => "570c8129e86749e68517bd783627e76e", "item_number_type" => "uuid")
|
370
370
|
expect(crossref_xml.dig("group_title")).to eq("Computer and information sciences")
|
371
|
-
expect(crossref_xml.dig("doi_data", "collection", "item").length).to eq(
|
371
|
+
expect(crossref_xml.dig("doi_data", "collection", "item").length).to eq(5)
|
372
372
|
expect(crossref_xml.dig("doi_data", "collection", "item", 2, "resource")).to eq("__content__" => "https://api.rogue-scholar.org/posts/10.59350/faeph-x4x84.pdf", "mime_type" => "application/pdf")
|
373
373
|
end
|
374
374
|
|
@@ -407,7 +407,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
407
407
|
"title")).to eq("Differences between ORCID and DataCite Metadata")
|
408
408
|
expect(crossref_xml.dig("item_number")).to eq("__content__" => "8a4de44333474b82b57de3c82b6485fc", "item_number_type" => "uuid")
|
409
409
|
expect(crossref_xml.dig("group_title")).to eq("Computer and information sciences")
|
410
|
-
expect(crossref_xml.dig("doi_data", "collection", "item").length).to eq(
|
410
|
+
expect(crossref_xml.dig("doi_data", "collection", "item").length).to eq(5)
|
411
411
|
expect(crossref_xml.dig("doi_data", "collection", "item", 2, "resource")).to eq("__content__" => "https://api.rogue-scholar.org/posts/10.53731/r79v4e1-97aq74v-ag578.pdf", "mime_type" => "application/pdf")
|
412
412
|
end
|
413
413
|
|
@@ -445,7 +445,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
445
445
|
"title")).to eq("Tracking the Growth of the PID Graph")
|
446
446
|
expect(crossref_xml.dig("item_number")).to eq("__content__" => "e58dc9c8b8704db28896238b3246c551", "item_number_type" => "uuid")
|
447
447
|
expect(crossref_xml.dig("group_title")).to eq("Computer and information sciences")
|
448
|
-
expect(crossref_xml.dig("doi_data", "collection", "item").length).to eq(
|
448
|
+
expect(crossref_xml.dig("doi_data", "collection", "item").length).to eq(5)
|
449
449
|
expect(crossref_xml.dig("doi_data", "collection", "item", 2, "resource")).to eq("__content__" => "https://api.rogue-scholar.org/posts/10.53731/r79s4nh-97aq74v-ag4t1.pdf", "mime_type" => "application/pdf")
|
450
450
|
end
|
451
451
|
|
@@ -480,7 +480,7 @@ describe Commonmeta::Metadata, vcr: true do
|
|
480
480
|
"title")).to eq("Welcome to the Lab")
|
481
481
|
expect(crossref_xml.dig("item_number")).to eq("__content__" => "a163e3405b3c47369ab08c54fdff6a3c", "item_number_type" => "uuid")
|
482
482
|
expect(crossref_xml.dig("group_title")).to eq("Computer and information sciences")
|
483
|
-
expect(crossref_xml.dig("doi_data", "collection", "item").length).to eq(
|
483
|
+
expect(crossref_xml.dig("doi_data", "collection", "item").length).to eq(5)
|
484
484
|
expect(crossref_xml.dig("doi_data", "collection", "item", 2, "resource")).to eq("__content__" => "https://api.rogue-scholar.org/posts/10.59350/9ry27-7cz42.pdf", "mime_type" => "application/pdf")
|
485
485
|
end
|
486
486
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: commonmeta-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Fenner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-01-
|
11
|
+
date: 2024-01-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -663,6 +663,7 @@ files:
|
|
663
663
|
- lib/commonmeta/readers/bibtex_reader.rb
|
664
664
|
- lib/commonmeta/readers/cff_reader.rb
|
665
665
|
- lib/commonmeta/readers/codemeta_reader.rb
|
666
|
+
- lib/commonmeta/readers/commonmeta_reader.rb
|
666
667
|
- lib/commonmeta/readers/crossref_reader.rb
|
667
668
|
- lib/commonmeta/readers/crossref_xml_reader.rb
|
668
669
|
- lib/commonmeta/readers/csl_reader.rb
|
@@ -693,7 +694,7 @@ files:
|
|
693
694
|
- lib/commonmeta/xml_converter.rb
|
694
695
|
- resources/2008/09/xsd.xsl
|
695
696
|
- resources/cff.json
|
696
|
-
- resources/commonmeta_v0.10.
|
697
|
+
- resources/commonmeta_v0.10.5.json
|
697
698
|
- resources/crossref/AccessIndicators.xsd
|
698
699
|
- resources/crossref/JATS-journalpublishing1-3d2-mathml3-elements.xsd
|
699
700
|
- resources/crossref/JATS-journalpublishing1-3d2-mathml3.xsd
|
@@ -763,6 +764,7 @@ files:
|
|
763
764
|
- spec/fixtures/citeproc.json
|
764
765
|
- spec/fixtures/codemeta.json
|
765
766
|
- spec/fixtures/codemeta_v2.json
|
767
|
+
- spec/fixtures/commonmeta.json
|
766
768
|
- spec/fixtures/crosscite.json
|
767
769
|
- spec/fixtures/crossref.bib
|
768
770
|
- spec/fixtures/crossref.json
|
@@ -1045,6 +1047,7 @@ files:
|
|
1045
1047
|
- spec/readers/bibtex_reader_spec.rb
|
1046
1048
|
- spec/readers/cff_reader_spec.rb
|
1047
1049
|
- spec/readers/codemeta_reader_spec.rb
|
1050
|
+
- spec/readers/commonmeta_reader_spec.rb
|
1048
1051
|
- spec/readers/crossref_reader_spec.rb
|
1049
1052
|
- spec/readers/crossref_xml_reader_spec.rb
|
1050
1053
|
- spec/readers/csl_reader_spec.rb
|