bolognese 1.4.4 → 1.4.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/bolognese/readers/crossref_reader.rb +9 -2
- data/lib/bolognese/version.rb +1 -1
- data/spec/readers/crossref_reader_spec.rb +7 -0
- data/spec/writers/csv_writer_spec.rb +2 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a9420cc742977f4abb1829324d62fe3df12e54d1a102f0c302789d7f8cf5e87e
|
4
|
+
data.tar.gz: ac74d0026d68701fab3d0778ad46a8104df11249625f39d46e08a195ff7582b6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 86a4a7ef42818b797c7730e0d106d9243068005ef019648940ff2d8bc076e9443f53a1ff8769594efde70530cfd3c6897c8fd77c9ada48235e9af23a27e4b6f1
|
7
|
+
data.tar.gz: 627e579be9d71941f631abdd8214c49c6b93d0e80a85c4398ca80bf417eac1548e31b5a32500747100ff84cc7320e11ed8de05039d0b16559a2a6853763480a2
|
data/Gemfile.lock
CHANGED
@@ -115,7 +115,13 @@ module Bolognese
|
|
115
115
|
end
|
116
116
|
date_updated = Array.wrap(query.to_h["crm_item"]).find { |cr| cr["name"] == "last-update" }
|
117
117
|
date_updated = { "date" => date_updated.fetch("__content__", nil), "dateType" => "Updated" } if date_updated.present?
|
118
|
-
|
118
|
+
|
119
|
+
date_registered = Array.wrap(query.to_h["crm_item"]).find { |cr| cr["name"] == "deposit-timestamp" }
|
120
|
+
if date_registered && date_registered.fetch("__content__", nil).to_i > 15000000000000 # check for valid input string that includes seconds
|
121
|
+
date_registered = DateTime.strptime(date_registered.fetch("__content__", ""), "%Y%m%d%H%M%S").strftime('%Y-%m-%dT%H:%M:%SZ')
|
122
|
+
else
|
123
|
+
date_registered = nil
|
124
|
+
end
|
119
125
|
# check that date is valid iso8601 date
|
120
126
|
date_published = nil unless Date.edtf(date_published.to_h["date"]).present?
|
121
127
|
date_updated = nil unless Date.edtf(date_updated.to_h["date"]).present?
|
@@ -174,7 +180,8 @@ module Bolognese
|
|
174
180
|
"language" => nil,
|
175
181
|
"sizes" => nil,
|
176
182
|
"schema_version" => nil,
|
177
|
-
"state" => state
|
183
|
+
"state" => state,
|
184
|
+
"date_registered" => date_registered
|
178
185
|
}.merge(read_options)
|
179
186
|
end
|
180
187
|
|
data/lib/bolognese/version.rb
CHANGED
@@ -365,6 +365,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
365
365
|
expect(subject.publication_year).to eq("2019")
|
366
366
|
expect(subject.publisher).to eq("Cambridge University Press")
|
367
367
|
expect(subject.agency).to eq("Crossref")
|
368
|
+
expect(subject.date_registered).to eq("2019-07-06T10:19:22Z")
|
368
369
|
end
|
369
370
|
|
370
371
|
it "another book" do
|
@@ -382,6 +383,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
382
383
|
expect(subject.publication_year).to eq("2000")
|
383
384
|
expect(subject.publisher).to eq("Ocean Drilling Program")
|
384
385
|
expect(subject.agency).to eq("Crossref")
|
386
|
+
expect(subject.date_registered).to eq("2006-10-17T20:17:44Z")
|
385
387
|
end
|
386
388
|
|
387
389
|
it "yet another book" do
|
@@ -400,6 +402,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
400
402
|
expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"10.1016/0031-0182(70)90103-3", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
|
401
403
|
expect(subject.container).to eq("identifier"=>"0066-4634", "identifierType"=>"ISSN", "title"=>"Antarctic Research Series", "type"=>"Book Series", "volume"=>"35")
|
402
404
|
expect(subject.agency).to eq("Crossref")
|
405
|
+
expect(subject.date_registered).to be_nil
|
403
406
|
end
|
404
407
|
|
405
408
|
it "mEDRA" do
|
@@ -478,6 +481,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
478
481
|
expect(subject.publication_year).to eq("2014")
|
479
482
|
expect(subject.publisher).to eq("OpenEdition")
|
480
483
|
expect(subject.agency).to eq("Crossref")
|
484
|
+
expect(subject.date_registered).to be_nil
|
481
485
|
end
|
482
486
|
|
483
487
|
it "markup" do
|
@@ -494,6 +498,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
494
498
|
expect(subject.publication_year).to eq("2017")
|
495
499
|
expect(subject.publisher).to eq("The Royal Society")
|
496
500
|
expect(subject.agency).to eq("Crossref")
|
501
|
+
expect(subject.date_registered).to eq("2017-05-24T02:10:18Z")
|
497
502
|
end
|
498
503
|
|
499
504
|
it "journal article with" do
|
@@ -515,6 +520,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
515
520
|
expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.1002/pmic.201400530", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
|
516
521
|
expect(subject.container).to eq("firstPage"=>"929", "identifier"=>"0028-646X", "identifierType"=>"ISSN", "issue"=>"3", "lastPage"=>"935", "title"=>"New Phytologist", "type"=>"Journal", "volume"=>"218")
|
517
522
|
expect(subject.agency).to eq("Crossref")
|
523
|
+
expect(subject.date_registered).to eq("2018-08-03T11:45:49Z")
|
518
524
|
end
|
519
525
|
|
520
526
|
it "author literal" do
|
@@ -531,6 +537,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
531
537
|
expect(subject.publication_year).to eq("2017")
|
532
538
|
expect(subject.publisher).to eq("Springer Science and Business Media LLC")
|
533
539
|
expect(subject.agency).to eq("Crossref")
|
540
|
+
expect(subject.date_registered).to eq("2019-11-02T09:30:06Z")
|
534
541
|
end
|
535
542
|
|
536
543
|
it "journal issue" do
|
@@ -11,7 +11,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
11
11
|
|
12
12
|
expect(csv[0]).to eq("10.7554/elife.01567")
|
13
13
|
expect(csv[1]).to eq("https://elifesciences.org/articles/01567")
|
14
|
-
expect(csv[2]).to
|
14
|
+
expect(csv[2]).to eq("2018-08-23")
|
15
15
|
expect(csv[3]).to eq("findable")
|
16
16
|
expect(csv[4]).to eq("Text")
|
17
17
|
expect(csv[5]).to eq("JournalArticle")
|
@@ -28,7 +28,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
28
28
|
|
29
29
|
expect(csv[0]).to eq("10.1155/2012/291294")
|
30
30
|
expect(csv[1]).to eq("http://www.hindawi.com/journals/pm/2012/291294/")
|
31
|
-
expect(csv[2]).to
|
31
|
+
expect(csv[2]).to eq("2016-08-02")
|
32
32
|
expect(csv[3]).to eq("findable")
|
33
33
|
expect(csv[4]).to eq("Text")
|
34
34
|
expect(csv[5]).to eq("JournalArticle")
|