bolognese 1.0.2 → 1.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/bolognese/datacite_utils.rb +8 -9
- data/lib/bolognese/metadata.rb +7 -44
- data/lib/bolognese/metadata_utils.rb +2 -2
- data/lib/bolognese/readers/bibtex_reader.rb +18 -7
- data/lib/bolognese/readers/citeproc_reader.rb +26 -11
- data/lib/bolognese/readers/codemeta_reader.rb +17 -16
- data/lib/bolognese/readers/crossref_reader.rb +23 -15
- data/lib/bolognese/readers/datacite_json_reader.rb +19 -11
- data/lib/bolognese/readers/datacite_reader.rb +15 -15
- data/lib/bolognese/readers/ris_reader.rb +14 -8
- data/lib/bolognese/readers/schema_org_reader.rb +17 -11
- data/lib/bolognese/utils.rb +22 -5
- data/lib/bolognese/version.rb +1 -1
- data/lib/bolognese/writers/bibtex_writer.rb +1 -1
- data/lib/bolognese/writers/codemeta_writer.rb +3 -3
- data/lib/bolognese/writers/crosscite_writer.rb +3 -10
- data/lib/bolognese/writers/datacite_json_writer.rb +5 -8
- data/lib/bolognese/writers/jats_writer.rb +3 -3
- data/lib/bolognese/writers/ris_writer.rb +1 -1
- data/lib/bolognese/writers/schema_org_writer.rb +7 -7
- data/spec/datacite_utils_spec.rb +8 -7
- data/spec/fixtures/crosscite.json +13 -8
- data/spec/fixtures/datacite.json +8 -4
- data/spec/fixtures/datacite_software.json +0 -1
- data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date/publication_date.yml +37 -0
- data/spec/readers/bibtex_reader_spec.rb +6 -10
- data/spec/readers/citeproc_reader_spec.rb +3 -3
- data/spec/readers/codemeta_reader_spec.rb +12 -16
- data/spec/readers/crosscite_reader_spec.rb +9 -8
- data/spec/readers/crossref_reader_spec.rb +27 -63
- data/spec/readers/datacite_json_reader_spec.rb +3 -4
- data/spec/readers/datacite_reader_spec.rb +156 -142
- data/spec/readers/ris_reader_spec.rb +6 -7
- data/spec/readers/schema_org_reader_spec.rb +26 -25
- data/spec/utils_spec.rb +8 -0
- data/spec/writers/bibtex_writer_spec.rb +1 -1
- data/spec/writers/citeproc_writer_spec.rb +1 -1
- data/spec/writers/crosscite_writer_spec.rb +6 -5
- data/spec/writers/datacite_writer_spec.rb +14 -17
- metadata +3 -2
@@ -29,9 +29,8 @@ describe Bolognese::Metadata, vcr: true do
|
|
29
29
|
it "Crossref DOI" do
|
30
30
|
expect(subject.valid?).to be true
|
31
31
|
expect(subject.identifier).to eq("https://doi.org/10.7554/elife.01567")
|
32
|
-
expect(subject.
|
32
|
+
expect(subject.types).to eq("citeproc"=>"misc", "resource_type_general"=>"Text", "ris"=>"JOUR", "type"=>"ScholarlyArticle")
|
33
33
|
expect(subject.url).to eq("http://elifesciences.org/lookup/doi/10.7554/eLife.01567")
|
34
|
-
expect(subject.resource_type_general).to eq("Text")
|
35
34
|
expect(subject.creator.length).to eq(5)
|
36
35
|
expect(subject.creator.first).to eq("type"=>"Person",
|
37
36
|
"name"=>"Martial Sankar",
|
@@ -39,7 +38,8 @@ describe Bolognese::Metadata, vcr: true do
|
|
39
38
|
"familyName"=>"Sankar")
|
40
39
|
expect(subject.title).to eq("Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth")
|
41
40
|
expect(subject.description["text"]).to start_with("Among various advantages, their small size makes model organisms preferred subjects of investigation.")
|
42
|
-
expect(subject.
|
41
|
+
expect(subject.dates).to eq([{"date"=>"2014", "date_type"=>"Issued"}])
|
42
|
+
expect(subject.publication_year).to eq("2014")
|
43
43
|
expect(subject.related_identifiers).to eq([{"id"=>"2050084X", "related_identifier_type"=>"ISSN", "relation_type"=>"IsPartOf", "title"=>"eLife", "type"=>"Periodical"}])
|
44
44
|
expect(subject.periodical).to eq("id"=>"2050084X", "title"=>"eLife", "type"=>"Periodical")
|
45
45
|
end
|
@@ -51,13 +51,12 @@ describe Bolognese::Metadata, vcr: true do
|
|
51
51
|
expect(subject.valid?).to be false
|
52
52
|
expect(subject.state).to eq("not_found")
|
53
53
|
expect(subject.identifier).to eq("https://doi.org/10.7554/elife.01567")
|
54
|
-
expect(subject.
|
55
|
-
expect(subject.type).to eq("Thesis")
|
56
|
-
expect(subject.resource_type_general).to eq("Text")
|
54
|
+
expect(subject.types).to eq("citeproc"=>"misc", "resource_type_general"=>"Text", "ris"=>"THES", "type"=>"Thesis")
|
57
55
|
expect(subject.creator).to eq("type"=>"Person", "name"=>"Y. Toparlar", "givenName"=>"Y.", "familyName"=>"Toparlar")
|
58
56
|
expect(subject.title).to eq("A multiscale analysis of the urban heat island effect")
|
59
57
|
expect(subject.description["text"]).to start_with("Designing the climates of cities")
|
60
|
-
expect(subject.
|
58
|
+
expect(subject.dates).to eq([{"date"=>"2018-04-25", "date_type"=>"Issued"}, {"date"=>"2018-04-25", "date_type"=>"Created"}])
|
59
|
+
expect(subject.publication_year).to eq("2018")
|
61
60
|
end
|
62
61
|
end
|
63
62
|
end
|
@@ -21,13 +21,13 @@ describe Bolognese::Metadata, vcr: true do
|
|
21
21
|
expect(subject.valid?).to be true
|
22
22
|
expect(subject.identifier).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
23
23
|
expect(subject.url).to eq("https://blog.datacite.org/eating-your-own-dog-food")
|
24
|
-
expect(subject.
|
24
|
+
expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"post-weblog", "resource_type_general"=>"Text", "ris"=>"GEN", "type"=>"BlogPosting")
|
25
25
|
expect(subject.creator).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0003-1419-2405", "name"=>"Martin Fenner", "givenName"=>"Martin", "familyName"=>"Fenner")
|
26
26
|
expect(subject.title).to eq("Eating your own Dog Food")
|
27
27
|
expect(subject.description["text"]).to start_with("Eating your own dog food")
|
28
28
|
expect(subject.keywords).to eq(["datacite", "doi", "metadata", "featured"])
|
29
|
-
expect(subject.
|
30
|
-
expect(subject.
|
29
|
+
expect(subject.dates).to eq([{"date"=>"2016-12-20", "date_type"=>"Issued"}, {"date"=>"2016-12-20", "date_type"=>"Created"}, {"date"=>"2016-12-20", "date_type"=>"Updated"}])
|
30
|
+
expect(subject.publication_year).to eq("2016")
|
31
31
|
expect(subject.related_identifiers.length).to eq(3)
|
32
32
|
expect(subject.related_identifiers.last).to eq("id"=>"10.5438/55e5-t5c0", "related_identifier_type"=>"DOI", "relation_type"=>"References")
|
33
33
|
expect(subject.publisher).to eq("DataCite")
|
@@ -39,7 +39,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
39
39
|
expect(subject.identifier).to eq("https://doi.org/10.5438/0000-00ss")
|
40
40
|
expect(subject.doi).to eq("10.5438/0000-00ss")
|
41
41
|
expect(subject.url).to eq("https://blog.datacite.org/eating-your-own-dog-food")
|
42
|
-
expect(subject.
|
42
|
+
expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"post-weblog", "resource_type_general"=>"Text", "ris"=>"GEN", "type"=>"BlogPosting")
|
43
43
|
end
|
44
44
|
|
45
45
|
it "zenodo" do
|
@@ -50,7 +50,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
50
50
|
expect(subject.identifier).to eq("https://doi.org/10.5281/zenodo.1196821")
|
51
51
|
expect(subject.doi).to eq("10.5281/zenodo.1196821")
|
52
52
|
expect(subject.url).to eq("https://zenodo.org/record/1196821")
|
53
|
-
expect(subject.
|
53
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resource_type_general"=>"Dataset", "ris"=>"DATA", "type"=>"Dataset")
|
54
54
|
expect(subject.title).to eq("PsPM-SC4B: SCR, ECG, EMG, PSR and respiration measurements in a delay fear conditioning task with auditory CS and electrical US")
|
55
55
|
expect(subject.creator.size).to eq(6)
|
56
56
|
expect(subject.creator.first).to eq("type"=>"Person", "id"=>"https://orcid.org/0000-0001-9688-838X", "name"=>"Matthias Staib", "givenName"=>"Matthias", "familyName"=>"Staib")
|
@@ -63,7 +63,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
63
63
|
expect(subject.identifier).to eq("https://doi.org/10.1594/pangaea.836178")
|
64
64
|
expect(subject.doi).to eq("10.1594/pangaea.836178")
|
65
65
|
expect(subject.url).to eq("https://doi.pangaea.de/10.1594/PANGAEA.836178")
|
66
|
-
expect(subject.
|
66
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resource_type_general"=>"Dataset", "ris"=>"DATA", "type"=>"Dataset")
|
67
67
|
expect(subject.title).to eq("Hydrological and meteorological investigations in a lake near Kangerlussuaq, west Greenland")
|
68
68
|
expect(subject.creator.size).to eq(8)
|
69
69
|
expect(subject.creator.first).to eq("type"=>"Person", "name"=>"Johansson, Emma", "givenName"=>"Emma", "familyName"=>"Johansson")
|
@@ -90,7 +90,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
90
90
|
expect(subject.valid?).to be true
|
91
91
|
expect(subject.identifier).to eq("https://doi.org/10.7910/dvn/nj7xso")
|
92
92
|
expect(subject.doi).to eq("10.7910/dvn/nj7xso")
|
93
|
-
expect(subject.
|
93
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resource_type_general"=>"Dataset", "ris"=>"DATA", "type"=>"Dataset")
|
94
94
|
expect(subject.title).to eq("Summary data ankylosing spondylitis GWAS")
|
95
95
|
expect(subject.periodical).to eq("title"=>"Harvard Dataverse", "type"=>"DataCatalog", "url"=>"https://dataverse.harvard.edu")
|
96
96
|
expect(subject.creator).to eq("name" => "International Genetics Of Ankylosing Spondylitis Consortium (IGAS)")
|
@@ -103,7 +103,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
103
103
|
expect(subject.valid?).to be true
|
104
104
|
expect(subject.identifier).to eq("https://doi.org/10.7910/dvn/nj7xso")
|
105
105
|
expect(subject.doi).to eq("10.7910/dvn/nj7xso")
|
106
|
-
expect(subject.
|
106
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resource_type_general"=>"Dataset", "ris"=>"DATA", "type"=>"Dataset")
|
107
107
|
expect(subject.title).to eq("Summary data ankylosing spondylitis GWAS")
|
108
108
|
expect(subject.periodical).to eq("title"=>"Harvard Dataverse", "type"=>"DataCatalog", "url"=>"https://dataverse.harvard.edu")
|
109
109
|
expect(subject.creator).to eq("name" => "International Genetics Of Ankylosing Spondylitis Consortium (IGAS)")
|
@@ -117,13 +117,13 @@ describe Bolognese::Metadata, vcr: true do
|
|
117
117
|
expect(subject.valid?).to be true
|
118
118
|
expect(subject.identifier).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
119
119
|
expect(subject.url).to eq("https://blog.datacite.org/eating-your-own-dog-food")
|
120
|
-
expect(subject.
|
120
|
+
expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"post-weblog", "resource_type_general"=>"Text", "ris"=>"GEN", "type"=>"BlogPosting")
|
121
121
|
expect(subject.creator).to eq("type"=>"Person", "id"=>"http://orcid.org/0000-0003-1419-2405", "name"=>"Martin Fenner", "givenName"=>"Martin", "familyName"=>"Fenner")
|
122
122
|
expect(subject.title).to eq("Eating your own Dog Food")
|
123
123
|
expect(subject.description["text"]).to start_with("Eating your own dog food")
|
124
124
|
expect(subject.keywords).to eq(["datacite", "doi", "metadata", "featured"])
|
125
|
-
expect(subject.
|
126
|
-
expect(subject.
|
125
|
+
expect(subject.dates).to eq([{"date"=>"2016-12-20", "date_type"=>"Issued"}, {"date"=>"2016-12-20", "date_type"=>"Created"}, {"date"=>"2016-12-20", "date_type"=>"Updated"}])
|
126
|
+
expect(subject.publication_year).to eq("2016")
|
127
127
|
expect(subject.related_identifiers.length).to eq(3)
|
128
128
|
expect(subject.related_identifiers.last).to eq("id"=>"10.5438/55e5-t5c0", "related_identifier_type"=>"DOI", "relation_type"=>"References")
|
129
129
|
expect(subject.publisher).to eq("DataCite")
|
@@ -138,13 +138,13 @@ describe Bolognese::Metadata, vcr: true do
|
|
138
138
|
expect(subject.alternate_identifiers).to eq("name"=>"687610993", "type"=>"md5")
|
139
139
|
expect(subject.url).to eq("https://ors.datacite.org/doi:/10.25491/d50j-3083")
|
140
140
|
expect(subject.content_url).to eq("https://storage.googleapis.com/gtex_analysis_v7/single_tissue_eqtl_data/GTEx_Analysis_v7_eQTL_expression_matrices.tar.gz")
|
141
|
-
expect(subject.
|
142
|
-
expect(subject.additional_type).to eq("Gene expression matrices")
|
141
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resource_type"=>"Gene expression matrices", "resource_type_general"=>"Dataset", "ris"=>"DATA", "type"=>"Dataset")
|
143
142
|
expect(subject.creator).to eq("name"=>"The GTEx Consortium", "type"=>"Organization")
|
144
143
|
expect(subject.title).to eq("Fully processed, filtered and normalized gene expression matrices (in BED format) for each tissue, which were used as input into FastQTL for eQTL discovery")
|
145
144
|
expect(subject.version).to eq("v7")
|
146
145
|
expect(subject.keywords).to eq(["gtex", "annotation", "phenotype", "gene regulation", "transcriptomics"])
|
147
|
-
expect(subject.
|
146
|
+
expect(subject.dates).to eq([{"date"=>"2017", "date_type"=>"Issued"}])
|
147
|
+
expect(subject.publication_year).to eq("2017")
|
148
148
|
expect(subject.periodical).to eq("title"=>"GTEx", "type"=>"DataCatalog")
|
149
149
|
expect(subject.publisher).to eq("GTEx")
|
150
150
|
expect(subject.funding_references.length).to eq(7)
|
@@ -160,12 +160,12 @@ describe Bolognese::Metadata, vcr: true do
|
|
160
160
|
expect(subject.alternate_identifiers).to eq([{"name"=>"3b33f6b9338fccab0901b7d317577ea3", "type"=>"md5"}, {"name"=>"ark:/99999/fk41CrU4eszeLUDe", "type"=>"minid"}, {"name"=>"dg.4503/c3d66dc9-58da-411c-83c4-dd656aa3c4b7", "type"=>"dataguid"}])
|
161
161
|
expect(subject.url).to eq("https://ors.datacite.org/doi:/10.23725/8na3-9s47")
|
162
162
|
expect(subject.content_url).to eq(["s3://cgp-commons-public/topmed_open_access/197bc047-e917-55ed-852d-d563cdbc50e4/NWD165827.recab.cram", "gs://topmed-irc-share/public/NWD165827.recab.cram"])
|
163
|
-
expect(subject.
|
164
|
-
expect(subject.additional_type).to eq("CRAM file")
|
163
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resource_type"=>"CRAM file", "resource_type_general"=>"Dataset", "ris"=>"DATA", "type"=>"Dataset")
|
165
164
|
expect(subject.creator).to eq("name"=>"TOPMed IRC", "type"=>"Organization")
|
166
165
|
expect(subject.title).to eq("NWD165827.recab.cram")
|
167
166
|
expect(subject.keywords).to eq(["topmed", "whole genome sequencing"])
|
168
|
-
expect(subject.
|
167
|
+
expect(subject.dates).to eq([{"date"=>"2017-11-30", "date_type"=>"Issued"}])
|
168
|
+
expect(subject.publication_year).to eq("2017")
|
169
169
|
expect(subject.publisher).to eq("TOPMed")
|
170
170
|
expect(subject.related_identifiers).to eq([{"id"=>"10.23725/2g4s-qv04", "related_identifier_type"=>"DOI", "relation_type"=>"References", "resource_type_general"=>"Dataset"}])
|
171
171
|
expect(subject.funding_references).to eq([{"funder_identifier"=>"https://doi.org/10.13039/100000050", "funder_identifier_type"=>"Crossref Funder ID", "funder_name"=>"National Heart, Lung, and Blood Institute (NHLBI)"}])
|
@@ -177,13 +177,13 @@ describe Bolognese::Metadata, vcr: true do
|
|
177
177
|
|
178
178
|
expect(subject.valid?).to be true
|
179
179
|
expect(subject.identifier).to eq("https://doi.org/10.6071/z7wc73")
|
180
|
-
expect(subject.
|
181
|
-
expect(subject.additional_type).to eq("dataset")
|
180
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resource_type"=>"dataset", "resource_type_general"=>"Dataset", "ris"=>"DATA", "type"=>"Dataset")
|
182
181
|
expect(subject.creator.length).to eq(6)
|
183
182
|
expect(subject.creator.first).to eq("familyName"=>"Bales", "givenName"=>"Roger", "name"=>"Roger Bales", "type"=>"Person")
|
184
183
|
expect(subject.title).to eq("Southern Sierra Critical Zone Observatory (SSCZO), Providence Creek meteorological data, soil moisture and temperature, snow depth and air temperature")
|
185
184
|
expect(subject.keywords).to eq(["Earth sciences", "soil moisture", "soil temperature", "snow depth", "air temperature", "water balance", "Nevada", "Sierra (mountain range)"])
|
186
|
-
expect(subject.
|
185
|
+
expect(subject.dates).to eq([{"date"=>"2013", "date_type"=>"Issued"}, {"date"=>"2014-10-17", "date_type"=>"Updated"}])
|
186
|
+
expect(subject.publication_year).to eq("2013")
|
187
187
|
expect(subject.publisher).to eq("UC Merced")
|
188
188
|
expect(subject.funding_references).to eq([{"funder_name"=>"National Science Foundation, Division of Earth Sciences, Critical Zone Observatories"}])
|
189
189
|
expect(subject.geo_location).to eq([{"geo_location_place"=>"Providence Creek (Lower, Upper and P301)", "geo_location_point"=>{"point_latitude"=>"37.047756", "point_longitude"=>"-119.221094"}}])
|
@@ -195,11 +195,12 @@ describe Bolognese::Metadata, vcr: true do
|
|
195
195
|
|
196
196
|
expect(subject.valid?).to be true
|
197
197
|
expect(subject.identifier).to eq("https://doi.org/10.1594/pangaea.842237")
|
198
|
-
expect(subject.
|
198
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resource_type_general"=>"Dataset", "ris"=>"DATA", "type"=>"Dataset")
|
199
199
|
expect(subject.creator.length).to eq(2)
|
200
200
|
expect(subject.creator.first).to eq("name"=>"Tara Oceans Consortium, Coordinators", "type"=>"Organization")
|
201
201
|
expect(subject.title).to eq("Registry of all stations from the Tara Oceans Expedition (2009-2013)")
|
202
|
-
expect(subject.
|
202
|
+
expect(subject.dates).to eq([{"date"=>"2015-02-03", "date_type"=>"Issued"}])
|
203
|
+
expect(subject.publication_year).to eq("2015")
|
203
204
|
expect(subject.publisher).to eq("PANGAEA")
|
204
205
|
expect(subject.geo_location).to eq([{"geo_location_box"=>{"east_bound_longitude"=>"174.9006", "north_bound_latitude"=>"79.6753", "south_bound_latitude"=>"-64.3088", "west_bound_longitude"=>"-168.5182"}}])
|
205
206
|
end
|
@@ -213,12 +214,12 @@ describe Bolognese::Metadata, vcr: true do
|
|
213
214
|
expect(subject.alternate_identifiers).to eq([{"name"=>"ark:/99999/fk4E1n6n1YHKxPk", "type"=>"minid"}, {"name"=>"dg.4503/01b048d0-e128-4cb0-94e9-b2d2cab7563d", "type"=>"dataguid"}, {"name"=>"f9e72bdf25bf4b4f0e581d9218fec2eb", "type"=>"md5"}])
|
214
215
|
expect(subject.url).to eq("https://ors.datacite.org/doi:/10.23725/7jg3-v803")
|
215
216
|
expect(subject.content_url).to eq(["s3://cgp-commons-public/topmed_open_access/44a8837b-4456-5709-b56b-54e23000f13a/NWD100953.recab.cram","gs://topmed-irc-share/public/NWD100953.recab.cram","dos://dos.commons.ucsc-cgp.org/01b048d0-e128-4cb0-94e9-b2d2cab7563d?version=2018-05-26T133719.491772Z"])
|
216
|
-
expect(subject.
|
217
|
-
expect(subject.additional_type).to eq("CRAM file")
|
217
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resource_type"=>"CRAM file", "resource_type_general"=>"Dataset", "ris"=>"DATA", "type"=>"Dataset")
|
218
218
|
expect(subject.creator).to eq("name"=>"TOPMed", "type"=>"Organization")
|
219
219
|
expect(subject.title).to eq("NWD100953.recab.cram")
|
220
220
|
expect(subject.keywords).to eq(["topmed", "whole genome sequencing"])
|
221
|
-
expect(subject.
|
221
|
+
expect(subject.dates).to eq([{"date"=>"2017-11-30", "date_type"=>"Issued"}])
|
222
|
+
expect(subject.publication_year).to eq("2017")
|
222
223
|
expect(subject.publisher).to eq("TOPMed")
|
223
224
|
expect(subject.funding_references).to eq([{"funder_identifier"=>"https://doi.org/10.13039/100000050", "funder_identifier_type"=>"Crossref Funder ID", "funder_name"=>"National Heart, Lung, and Blood Institute (NHLBI)"}])
|
224
225
|
end
|
data/spec/utils_spec.rb
CHANGED
@@ -324,6 +324,14 @@ describe Bolognese::Metadata, vcr: true do
|
|
324
324
|
end
|
325
325
|
end
|
326
326
|
|
327
|
+
context "get_date" do
|
328
|
+
it "publication date" do
|
329
|
+
dates = [{ "date"=>"2016-12-20", "date_type" => "Issued" }]
|
330
|
+
response = subject.get_date(dates, "Issued")
|
331
|
+
expect(response).to eq("2016-12-20")
|
332
|
+
end
|
333
|
+
end
|
334
|
+
|
327
335
|
context "github" do
|
328
336
|
it "github_from_url" do
|
329
337
|
url = "https://github.com/datacite/bolognese"
|
@@ -76,7 +76,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
76
76
|
input = fixture_path + "datacite.json"
|
77
77
|
subject = Bolognese::Metadata.new(input: input, from: "datacite_json")
|
78
78
|
bibtex = BibTeX.parse(subject.bibtex).to_a(quotes: '').first
|
79
|
-
expect(bibtex[:bibtex_type].to_s).to eq("
|
79
|
+
expect(bibtex[:bibtex_type].to_s).to eq("misc")
|
80
80
|
expect(bibtex[:bibtex_key]).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
81
81
|
expect(bibtex[:doi]).to eq("10.5438/4k3m-nyvg")
|
82
82
|
expect(bibtex[:title]).to eq("Eating your own Dog Food")
|
@@ -44,7 +44,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
44
44
|
input = fixture_path + "datacite.json"
|
45
45
|
subject = Bolognese::Metadata.new(input: input, from: "datacite_json")
|
46
46
|
json = JSON.parse(subject.citeproc)
|
47
|
-
expect(json["type"]).to eq("
|
47
|
+
expect(json["type"]).to eq("article")
|
48
48
|
expect(json["id"]).to eq("https://doi.org/10.5438/4k3m-nyvg")
|
49
49
|
expect(json["DOI"]).to eq("10.5438/4k3m-nyvg")
|
50
50
|
expect(json["title"]).to eq("Eating your own Dog Food")
|
@@ -9,7 +9,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
9
9
|
subject = Bolognese::Metadata.new(input: input, from: "crossref")
|
10
10
|
crosscite = JSON.parse(subject.crosscite)
|
11
11
|
expect(crosscite.fetch("url")).to eq("https://elifesciences.org/articles/01567")
|
12
|
-
expect(crosscite.fetch("
|
12
|
+
expect(crosscite.fetch("types")).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resource_type"=>"JournalArticle", "resource_type_general"=>"Text", "ris"=>"JOUR", "type"=>"ScholarlyArticle")
|
13
13
|
expect(crosscite.fetch("title")).to eq("Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth")
|
14
14
|
expect(crosscite.fetch("related_identifiers").length).to eq(27)
|
15
15
|
expect(crosscite.fetch("related_identifiers").first).to eq("id"=>"2050-084X", "related_identifier_type"=>"ISSN", "relation_type"=>"IsPartOf", "title"=>"eLife", "type"=>"Periodical")
|
@@ -24,7 +24,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
24
24
|
input = "https://doi.org/10.1155/2012/291294"
|
25
25
|
subject = Bolognese::Metadata.new(input: input, from: "crossref")
|
26
26
|
crosscite = JSON.parse(subject.crosscite)
|
27
|
-
expect(crosscite.fetch("
|
27
|
+
expect(crosscite.fetch("types")).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resource_type"=>"JournalArticle", "resource_type_general"=>"Text", "ris"=>"JOUR", "type"=>"ScholarlyArticle")
|
28
28
|
expect(crosscite.fetch("creator").count).to eq(7)
|
29
29
|
expect(crosscite.fetch("creator")[2]).to eq("type"=>"Person", "id"=>"http://orcid.org/0000-0003-2043-4925", "name"=>"Beatriz Hernandez", "givenName"=>"Beatriz", "familyName"=>"Hernandez")
|
30
30
|
end
|
@@ -40,7 +40,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
40
40
|
input = fixture_path + "crossref.bib"
|
41
41
|
subject = Bolognese::Metadata.new(input: input, from: "bibtex")
|
42
42
|
crosscite = JSON.parse(subject.crosscite)
|
43
|
-
expect(crosscite.fetch("
|
43
|
+
expect(crosscite.fetch("types")).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resource_type"=>"JournalArticle", "resource_type_general"=>"Text", "ris"=>"JOUR", "type"=>"ScholarlyArticle")
|
44
44
|
expect(crosscite.fetch("title")).to eq("Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth")
|
45
45
|
expect(crosscite.dig("description", "text")).to start_with("Among various advantages, their small size makes model organisms preferred subjects of investigation.")
|
46
46
|
expect(crosscite.fetch("creator").count).to eq(5)
|
@@ -52,7 +52,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
52
52
|
subject = Bolognese::Metadata.new(input: input, from: "citeproc")
|
53
53
|
expect(subject.valid?).to be true
|
54
54
|
crosscite = JSON.parse(subject.crosscite)
|
55
|
-
expect(crosscite["
|
55
|
+
expect(crosscite["types"]).to eq("bibtex"=>"article", "citeproc"=>"post-weblog", "resource_type_general"=>"Text", "ris"=>"GEN", "type"=>"BlogPosting")
|
56
56
|
expect(crosscite.fetch("title")).to eq("Eating your own Dog Food")
|
57
57
|
expect(crosscite.dig("description", "text")).to start_with("Eating your own dog food")
|
58
58
|
expect(crosscite.fetch("creator")).to eq("type"=>"Person", "name"=>"Martin Fenner", "givenName"=>"Martin", "familyName"=>"Fenner")
|
@@ -76,7 +76,8 @@ describe Bolognese::Metadata, vcr: true do
|
|
76
76
|
expect(crosscite.fetch("title")).to eq("Data from: A new malaria agent in African hominids.")
|
77
77
|
expect(crosscite.fetch("creator").length).to eq(8)
|
78
78
|
expect(crosscite.fetch("creator").first).to eq("type"=>"Person", "familyName" => "Ollomo", "givenName" => "Benjamin", "name" => "Benjamin Ollomo")
|
79
|
-
expect(crosscite.fetch("
|
79
|
+
expect(crosscite.fetch("dates")).to eq([{"date"=>"2011", "date_type"=>"Issued"}])
|
80
|
+
expect(crosscite.fetch("publication_year")).to eq("2011")
|
80
81
|
expect(crosscite.fetch("provider_id")).to eq("DRYAD")
|
81
82
|
expect(crosscite.fetch("client_id")).to eq("DRYAD.DRYAD")
|
82
83
|
end
|
@@ -103,14 +103,13 @@ describe Bolognese::Metadata, vcr: true do
|
|
103
103
|
subject = Bolognese::Metadata.new(input: input, from: "datacite")
|
104
104
|
expect(subject.valid?).to be true
|
105
105
|
expect(subject.identifier).to eq("https://doi.org/10.23640/07243.5153971")
|
106
|
-
expect(subject.
|
107
|
-
expect(subject.additional_type).to eq("Paper")
|
108
|
-
expect(subject.resource_type_general).to eq("Text")
|
106
|
+
expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resource_type"=>"Paper", "resource_type_general"=>"Text", "ris"=>"RPRT", "type"=>"ScholarlyArticle")
|
109
107
|
expect(subject.creator.length).to eq(20)
|
110
108
|
expect(subject.creator.first).to eq("type"=>"Person", "familyName" => "Paglione", "givenName" => "Laura", "id" => "https://orcid.org/0000-0003-3188-6273", "name" => "Laura Paglione")
|
111
109
|
expect(subject.title).to eq("Recommendation of: ORCID Works Metadata Working Group")
|
112
110
|
expect(subject.rights).to eq("id"=>"https://creativecommons.org/publicdomain/zero/1.0", "name"=>"CC-0")
|
113
|
-
expect(subject.
|
111
|
+
expect(subject.dates).to eq([{"date"=>"2017-06-28", "date_type"=>"Created"}, {"date"=>"2017-06-28", "date_type"=>"Updated"}, {"date"=>"2017", "date_type"=>"Issued"}])
|
112
|
+
expect(subject.publication_year).to eq("2017")
|
114
113
|
expect(subject.publisher).to eq("Figshare")
|
115
114
|
expect(subject.service_provider).to eq("DataCite")
|
116
115
|
expect(subject.schema_version).to eq("http://datacite.org/schema/kernel-3")
|
@@ -122,14 +121,13 @@ describe Bolognese::Metadata, vcr: true do
|
|
122
121
|
subject = Bolognese::Metadata.new(input: input, from: "datacite", doi: "10.5072/07243.5153971")
|
123
122
|
expect(subject.valid?).to be true
|
124
123
|
expect(subject.identifier).to eq("https://doi.org/10.5072/07243.5153971")
|
125
|
-
expect(subject.
|
126
|
-
expect(subject.additional_type).to eq("Paper")
|
127
|
-
expect(subject.resource_type_general).to eq("Text")
|
124
|
+
expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resource_type"=>"Paper", "resource_type_general"=>"Text", "ris"=>"RPRT", "type"=>"ScholarlyArticle")
|
128
125
|
expect(subject.creator.length).to eq(20)
|
129
126
|
expect(subject.creator.first).to eq("type"=>"Person", "familyName" => "Paglione", "givenName" => "Laura", "id" => "https://orcid.org/0000-0003-3188-6273", "name" => "Laura Paglione")
|
130
127
|
expect(subject.title).to eq("Recommendation of: ORCID Works Metadata Working Group")
|
131
128
|
expect(subject.rights).to eq("id"=>"https://creativecommons.org/publicdomain/zero/1.0", "name"=>"CC-0")
|
132
|
-
expect(subject.
|
129
|
+
expect(subject.dates).to eq([{"date"=>"2017-06-28", "date_type"=>"Created"}, {"date"=>"2017-06-28", "date_type"=>"Updated"}, {"date"=>"2017", "date_type"=>"Issued"}])
|
130
|
+
expect(subject.publication_year).to eq("2017")
|
133
131
|
expect(subject.publisher).to eq("Figshare")
|
134
132
|
expect(subject.service_provider).to eq("DataCite")
|
135
133
|
expect(subject.schema_version).to eq("http://datacite.org/schema/kernel-3")
|
@@ -141,15 +139,14 @@ describe Bolognese::Metadata, vcr: true do
|
|
141
139
|
subject = Bolognese::Metadata.new(input: input, from: "datacite", regenerate: true)
|
142
140
|
expect(subject.valid?).to be true
|
143
141
|
expect(subject.identifier).to eq("https://doi.org/10.5061/dryad.8515")
|
144
|
-
expect(subject.
|
145
|
-
expect(subject.additional_type).to eq("DataPackage")
|
146
|
-
expect(subject.resource_type_general).to eq("Dataset")
|
142
|
+
expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resource_type"=>"DataPackage", "resource_type_general"=>"Dataset", "ris"=>"DATA", "type"=>"Dataset")
|
147
143
|
expect(subject.creator.length).to eq(8)
|
148
144
|
expect(subject.creator.first).to eq("type"=>"Person", "name"=>"Benjamin Ollomo", "givenName"=>"Benjamin", "familyName"=>"Ollomo")
|
149
145
|
expect(subject.title).to eq("Data from: A new malaria agent in African hominids.")
|
150
146
|
expect(subject.alternate_identifiers).to eq("type"=>"citation", "name"=>"Ollomo B, Durand P, Prugnolle F, Douzery EJP, Arnathau C, Nkoghe D, Leroy E, Renaud F (2009) A new malaria agent in African hominids. PLoS Pathogens 5(5): e1000446.")
|
151
147
|
expect(subject.rights).to eq("id"=>"http://creativecommons.org/publicdomain/zero/1.0")
|
152
|
-
expect(subject.
|
148
|
+
expect(subject.dates).to eq([{"date"=>"2011", "date_type"=>"Issued"}])
|
149
|
+
expect(subject.publication_year).to eq("2011")
|
153
150
|
expect(subject.related_identifiers.length).to eq(6)
|
154
151
|
expect(subject.related_identifiers.last).to eq("id"=>"19478877", "related_identifier_type"=>"PMID", "relation_type"=>"IsSupplementTo")
|
155
152
|
expect(subject.publisher).to eq("Dryad Digital Repository")
|
@@ -199,7 +196,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
199
196
|
subject = Bolognese::Metadata.new(input: input, from: "crossref")
|
200
197
|
subject.doi = "10.5061/DRYAD.8515"
|
201
198
|
subject.title = "Data from: Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth"
|
202
|
-
subject.
|
199
|
+
subject.types = { "type" => "Dataset", "resource_type_general" => "Dataset" }
|
203
200
|
expect(subject.valid?).to be true
|
204
201
|
datacite = Maremma.from_xml(subject.datacite).fetch("resource", {})
|
205
202
|
expect(datacite.dig("identifier", "__content__")).to eq("10.5061/DRYAD.8515")
|
@@ -237,10 +234,10 @@ describe Bolognese::Metadata, vcr: true do
|
|
237
234
|
subject.creator = [{"creatorName"=>"Fenner, Martin", "givenName"=>"Martin", "familyName"=>"Fenner"}]
|
238
235
|
subject.title = "Data from: Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth"
|
239
236
|
subject.publisher = "Dryad"
|
240
|
-
subject.
|
241
|
-
subject.
|
242
|
-
subject.date_published = "2011"
|
237
|
+
subject.types = "Dataset"
|
238
|
+
subject.publication_year = "2011"
|
243
239
|
subject.state = "findable"
|
240
|
+
subject.types = { "type" => "Dataset", "resource_type_general" => "Dataset" }
|
244
241
|
expect(subject.exists?).to be true
|
245
242
|
datacite = Maremma.from_xml(subject.datacite).fetch("resource", {})
|
246
243
|
expect(datacite.dig("identifier", "__content__")).to eq("10.4124/05f6c379-dd68-4cdb-880d-33d3e9576d52/1")
|
@@ -292,7 +289,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
292
289
|
subject = Bolognese::Metadata.new(input: input, from: "crossref")
|
293
290
|
subject.doi = "123"
|
294
291
|
subject.title = "Data from: Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth"
|
295
|
-
subject.
|
292
|
+
subject.types = "Dataset"
|
296
293
|
expect(subject.doi).to eq("123")
|
297
294
|
expect(subject.valid?).to be false
|
298
295
|
expect(subject.errors.first).to start_with("3:0: ERROR: Element '{http://datacite.org/schema/kernel-4}identifier'")
|
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.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Fenner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-11-
|
11
|
+
date: 2018-11-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: maremma
|
@@ -806,6 +806,7 @@ files:
|
|
806
806
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/series-information.yml
|
807
807
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/subject_scheme.yml
|
808
808
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/xs_string_attributes.yml
|
809
|
+
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date/publication_date.yml
|
809
810
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/date.yml
|
810
811
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year-month.yml
|
811
812
|
- spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year.yml
|