bolognese 1.10.0 → 1.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +2 -2
- data/Gemfile.lock +34 -20
- data/bolognese.gemspec +1 -1
- data/lib/bolognese/readers/datacite_reader.rb +6 -6
- data/lib/bolognese/version.rb +1 -1
- data/spec/fixtures/datacite-example-relateditems-with-attributes.xml +61 -0
- data/spec/readers/datacite_reader_spec.rb +43 -0
- metadata +3 -16
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f87808df4f12983e33877e77b31bc8aee2e1fe6f0a7e888da3d7b67ce19ab87e
|
4
|
+
data.tar.gz: 5143917378eacceff49c3d0d6e5b71f634237d025a7dad867db79ae34ed737f5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 351c69b0b3b528bdbe5c89ec27a6f503e461c5acfb9060894d6822045193eb8a93cbc51fd952da023e5fb7cf9a52e0b710d03c92fd27ece9fb95062da0feaf6f
|
7
|
+
data.tar.gz: bf72537500650c6a963ea792af54d7d1ac18410e0160e6dd9088bdd9033fe2049a871367d76bf7f892fba03c20b2b9df75e744efaf03cd973305d3b75fff1d87
|
data/CHANGELOG.md
CHANGED
@@ -7,6 +7,7 @@
|
|
7
7
|
**Merged pull requests:**
|
8
8
|
|
9
9
|
- Add DFG-to-FOS mappings utility function [\#147](https://github.com/datacite/bolognese/pull/147) ([jrhoads](https://github.com/jrhoads))
|
10
|
+
- Test against multiple versions of ruby \(2.6, 2.7, 3.0, and 3.1\) [\#141](https://github.com/datacite/bolognese/pull/141) ([jrhoads](https://github.com/jrhoads))
|
10
11
|
|
11
12
|
## [1.9.18](https://github.com/datacite/bolognese/tree/1.9.18) (2022-10-11)
|
12
13
|
|
@@ -64,6 +65,7 @@
|
|
64
65
|
**Merged pull requests:**
|
65
66
|
|
66
67
|
- update nokogiri to latest, including updating maremma [\#130](https://github.com/datacite/bolognese/pull/130) ([orangewolf](https://github.com/orangewolf))
|
68
|
+
- mapping for DFG-to-OECD [\#125](https://github.com/datacite/bolognese/pull/125) ([kjgarza](https://github.com/kjgarza))
|
67
69
|
|
68
70
|
## [1.9.12](https://github.com/datacite/bolognese/tree/1.9.12) (2021-08-19)
|
69
71
|
|
@@ -79,7 +81,6 @@
|
|
79
81
|
|
80
82
|
**Merged pull requests:**
|
81
83
|
|
82
|
-
- Test against multiple versions of ruby \(2.6, 2.7, 3.0, and 3.1\) [\#141](https://github.com/datacite/bolognese/pull/141) ([jrhoads](https://github.com/jrhoads))
|
83
84
|
- Allow Orcid URLs to have been issued from the sandbox [\#121](https://github.com/datacite/bolognese/pull/121) ([prdanelli](https://github.com/prdanelli))
|
84
85
|
|
85
86
|
## [1.9.10](https://github.com/datacite/bolognese/tree/1.9.10) (2021-07-20)
|
@@ -115,7 +116,6 @@
|
|
115
116
|
|
116
117
|
**Merged pull requests:**
|
117
118
|
|
118
|
-
- mapping for DFG-to-OECD [\#125](https://github.com/datacite/bolognese/pull/125) ([kjgarza](https://github.com/kjgarza))
|
119
119
|
- Fix missing affiliation identifier [\#117](https://github.com/datacite/bolognese/pull/117) ([richardhallett](https://github.com/richardhallett))
|
120
120
|
- Add support for book title and additional metadata when reading Crossref Book Chapter DOI [\#115](https://github.com/datacite/bolognese/pull/115) ([prdanelli](https://github.com/prdanelli))
|
121
121
|
- Valid Funder DOIs are being rejected for not starting with a 5 [\#114](https://github.com/datacite/bolognese/pull/114) ([prdanelli](https://github.com/prdanelli))
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
bolognese (1.
|
4
|
+
bolognese (1.11.0)
|
5
5
|
activesupport (>= 4.2.5)
|
6
6
|
benchmark_methods (~> 0.7)
|
7
7
|
bibtex-ruby (>= 5.1.0)
|
@@ -11,7 +11,6 @@ PATH
|
|
11
11
|
concurrent-ruby (~> 1.1, >= 1.1.5)
|
12
12
|
csl-styles (~> 1.0, >= 1.0.1.10)
|
13
13
|
edtf (~> 3.0, >= 3.0.4)
|
14
|
-
faraday (~> 0.17.3)
|
15
14
|
gender_detector (~> 0.1.2)
|
16
15
|
iso8601 (~> 0.9.1)
|
17
16
|
json-ld-preloaded (~> 3.1, >= 3.1.3)
|
@@ -36,8 +35,8 @@ GEM
|
|
36
35
|
minitest (>= 5.1)
|
37
36
|
tzinfo (~> 2.0)
|
38
37
|
zeitwerk (~> 2.3)
|
39
|
-
addressable (2.8.
|
40
|
-
public_suffix (>= 2.0.2, <
|
38
|
+
addressable (2.8.1)
|
39
|
+
public_suffix (>= 2.0.2, < 6.0)
|
41
40
|
amazing_print (1.4.0)
|
42
41
|
benchmark_methods (0.7)
|
43
42
|
bibtex-ruby (6.0.0)
|
@@ -70,12 +69,22 @@ GEM
|
|
70
69
|
edtf (3.1.0)
|
71
70
|
activesupport (>= 3.0, < 8.0)
|
72
71
|
excon (0.71.1)
|
73
|
-
faraday (
|
74
|
-
|
72
|
+
faraday (2.6.0)
|
73
|
+
faraday-net_http (>= 2.0, < 3.1)
|
74
|
+
ruby2_keywords (>= 0.0.4)
|
75
75
|
faraday-encoding (0.0.5)
|
76
76
|
faraday
|
77
|
-
|
78
|
-
|
77
|
+
faraday-excon (2.1.0)
|
78
|
+
excon (>= 0.27.4)
|
79
|
+
faraday (~> 2.0)
|
80
|
+
faraday-follow_redirects (0.3.0)
|
81
|
+
faraday (>= 1, < 3)
|
82
|
+
faraday-gzip (0.1.0)
|
83
|
+
faraday (>= 1.0)
|
84
|
+
zlib (~> 2.1)
|
85
|
+
faraday-multipart (1.0.4)
|
86
|
+
multipart-post (~> 2)
|
87
|
+
faraday-net_http (3.0.1)
|
79
88
|
gender_detector (0.1.2)
|
80
89
|
unicode_utils (>= 1.3.0)
|
81
90
|
haml (5.2.2)
|
@@ -106,15 +115,18 @@ GEM
|
|
106
115
|
loofah (2.19.0)
|
107
116
|
crass (~> 1.0.2)
|
108
117
|
nokogiri (>= 1.5.9)
|
109
|
-
maremma (4.9.
|
118
|
+
maremma (4.9.9)
|
110
119
|
activesupport (>= 4.2.5)
|
111
120
|
addressable (>= 2.3.6)
|
112
121
|
builder (~> 3.2, >= 3.2.2)
|
113
122
|
excon (~> 0.71.0)
|
114
|
-
faraday (
|
115
|
-
faraday-encoding (~> 0.0.
|
116
|
-
|
117
|
-
|
123
|
+
faraday (>= 2.0)
|
124
|
+
faraday-encoding (~> 0.0.5)
|
125
|
+
faraday-excon (~> 2.1.0)
|
126
|
+
faraday-follow_redirects (~> 0.3.0)
|
127
|
+
faraday-gzip (~> 0.1.0)
|
128
|
+
faraday-multipart (~> 1.0.4)
|
129
|
+
nokogiri (>= 1.13.1, < 1.14.0)
|
118
130
|
oj (>= 2.8.3)
|
119
131
|
oj_mimic_json (~> 1.0, >= 1.0.1)
|
120
132
|
matrix (0.4.2)
|
@@ -123,7 +135,7 @@ GEM
|
|
123
135
|
multi_json (1.15.0)
|
124
136
|
multipart-post (2.2.3)
|
125
137
|
namae (1.1.1)
|
126
|
-
nokogiri (1.13.
|
138
|
+
nokogiri (1.13.9)
|
127
139
|
mini_portile2 (~> 2.8.0)
|
128
140
|
racc (~> 1.4)
|
129
141
|
oj (3.13.21)
|
@@ -135,7 +147,7 @@ GEM
|
|
135
147
|
public_suffix (>= 2.0.0, < 2.1)
|
136
148
|
public_suffix (2.0.5)
|
137
149
|
racc (1.6.0)
|
138
|
-
rack (2.2.
|
150
|
+
rack (2.2.4)
|
139
151
|
rack-test (0.8.3)
|
140
152
|
rack (>= 1.0, < 3)
|
141
153
|
rake (12.3.3)
|
@@ -170,24 +182,25 @@ GEM
|
|
170
182
|
rspec-mocks (~> 3.11.0)
|
171
183
|
rspec-core (3.11.0)
|
172
184
|
rspec-support (~> 3.11.0)
|
173
|
-
rspec-expectations (3.11.
|
185
|
+
rspec-expectations (3.11.1)
|
174
186
|
diff-lcs (>= 1.2.0, < 2.0)
|
175
187
|
rspec-support (~> 3.11.0)
|
176
188
|
rspec-mocks (3.11.1)
|
177
189
|
diff-lcs (>= 1.2.0, < 2.0)
|
178
190
|
rspec-support (~> 3.11.0)
|
179
|
-
rspec-support (3.11.
|
191
|
+
rspec-support (3.11.1)
|
180
192
|
rspec-xsd (0.1.0)
|
181
193
|
nokogiri (~> 1.6)
|
182
194
|
rspec (~> 3)
|
195
|
+
ruby2_keywords (0.0.5)
|
183
196
|
scanf (1.0.0)
|
184
197
|
simplecov (0.17.1)
|
185
198
|
docile (~> 1.1)
|
186
199
|
json (>= 1.8, < 3)
|
187
200
|
simplecov-html (~> 0.10.0)
|
188
201
|
simplecov-html (0.10.2)
|
189
|
-
sxp (1.2.
|
190
|
-
matrix
|
202
|
+
sxp (1.2.3)
|
203
|
+
matrix (~> 0.4)
|
191
204
|
rdf (~> 3.2)
|
192
205
|
temple (0.8.2)
|
193
206
|
thor (1.2.1)
|
@@ -197,11 +210,12 @@ GEM
|
|
197
210
|
unicode-types (1.8.0)
|
198
211
|
unicode_utils (1.4.0)
|
199
212
|
vcr (3.0.3)
|
200
|
-
webmock (3.
|
213
|
+
webmock (3.18.1)
|
201
214
|
addressable (>= 2.8.0)
|
202
215
|
crack (>= 0.3.2)
|
203
216
|
hashdiff (>= 0.4.0, < 2.0.0)
|
204
217
|
zeitwerk (2.6.1)
|
218
|
+
zlib (2.1.1)
|
205
219
|
|
206
220
|
PLATFORMS
|
207
221
|
ruby
|
data/bolognese.gemspec
CHANGED
@@ -17,7 +17,7 @@ Gem::Specification.new do |s|
|
|
17
17
|
|
18
18
|
# Declare dependencies here, rather than in the Gemfile
|
19
19
|
s.add_dependency 'maremma', '>= 4.9.4', '< 5'
|
20
|
-
s.add_dependency 'faraday', '~> 0.17.3'
|
20
|
+
#s.add_dependency 'faraday', '~> 0.17.3'
|
21
21
|
s.add_dependency 'nokogiri', '>= 1.13.2', '< 1.14'
|
22
22
|
s.add_dependency 'loofah', '~> 2.0', '>= 2.0.3'
|
23
23
|
s.add_dependency 'builder', '~> 3.2', '>= 3.2.2'
|
@@ -230,14 +230,14 @@ module Bolognese
|
|
230
230
|
"creators" => get_authors(Array.wrap(ri.dig("creators", "creator"))),
|
231
231
|
"titles" => get_titles(ri),
|
232
232
|
"publicationYear" => ri["publicationYear"],
|
233
|
-
"volume" => ri["volume"],
|
234
|
-
"issue" => ri["issue"],
|
233
|
+
"volume" => parse_attributes(ri["volume"]),
|
234
|
+
"issue" => parse_attributes(ri["issue"]),
|
235
235
|
"number" => number,
|
236
236
|
"numberType" => numberType,
|
237
|
-
"firstPage" => ri["firstPage"],
|
238
|
-
"lastPage" => ri["lastPage"],
|
239
|
-
"publisher" => ri["publisher"],
|
240
|
-
"edition" => ri["edition"],
|
237
|
+
"firstPage" => parse_attributes(ri["firstPage"]),
|
238
|
+
"lastPage" => parse_attributes(ri["lastPage"]),
|
239
|
+
"publisher" => parse_attributes(ri["publisher"]),
|
240
|
+
"edition" => parse_attributes(ri["edition"]),
|
241
241
|
"contributors" => get_authors(Array.wrap(ri.dig("contributors", "contributor"))),
|
242
242
|
}.compact
|
243
243
|
end
|
data/lib/bolognese/version.rb
CHANGED
@@ -0,0 +1,61 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
3
|
+
xmlns="http://datacite.org/schema/kernel-4" xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4.4/metadata.xsd">
|
4
|
+
<identifier identifierType="DOI">10.5072/example-full</identifier>
|
5
|
+
<creators>
|
6
|
+
<creator>
|
7
|
+
<creatorName nameType="Personal">Hallett, Richard</creatorName>
|
8
|
+
<givenName>Richard</givenName>
|
9
|
+
<familyName>Hallett</familyName>
|
10
|
+
</creator>
|
11
|
+
</creators>
|
12
|
+
<titles>
|
13
|
+
<title xml:lang="en-US">Example for related items</title>
|
14
|
+
</titles>
|
15
|
+
<publisher xml:lang="en">DataCite</publisher>
|
16
|
+
<publicationYear>2021</publicationYear>
|
17
|
+
<dates>
|
18
|
+
<date dateType="Updated" dateInformation="Updated with 4.4 properties">2021-01-26</date>
|
19
|
+
</dates>
|
20
|
+
<language>en-US</language>
|
21
|
+
<resourceType resourceTypeGeneral="Software">XML</resourceType>
|
22
|
+
<version>1</version>
|
23
|
+
<descriptions>
|
24
|
+
<description xml:lang="en-US" descriptionType="Abstract">A test example for related items</description>
|
25
|
+
</descriptions>
|
26
|
+
<relatedItems>
|
27
|
+
<relatedItem relationType="IsPublishedIn" relatedItemType="Journal">
|
28
|
+
<relatedItemIdentifier
|
29
|
+
relatedItemIdentifierType="DOI"
|
30
|
+
relatedMetadataScheme="citeproc+json"
|
31
|
+
schemeURI="https://github.com/citation-style-language/schema/raw/master/csl-data.json"
|
32
|
+
schemeType="URL">10.5072/john-smiths-1234</relatedItemIdentifier>
|
33
|
+
<creators>
|
34
|
+
<creator>
|
35
|
+
<creatorName nameType="Personal">Smith, John</creatorName>
|
36
|
+
<givenName>John</givenName>
|
37
|
+
<familyName>Smith</familyName>
|
38
|
+
</creator>
|
39
|
+
</creators>
|
40
|
+
<titles>
|
41
|
+
<title>Understanding the fictional John Smith</title>
|
42
|
+
<title titleType="Subtitle">A detailed look</title>
|
43
|
+
</titles>
|
44
|
+
<publicationYear>1776</publicationYear>
|
45
|
+
<volume xml:lang="en">776</volume>
|
46
|
+
<issue xml:lang="en">1</issue>
|
47
|
+
<number numberType="Chapter">1</number>
|
48
|
+
<firstPage xml:lang="en">50</firstPage>
|
49
|
+
<lastPage xml:lang="en">60</lastPage>
|
50
|
+
<publisher xml:lang="en">Example Inc</publisher>
|
51
|
+
<edition xml:lang="en">1</edition>
|
52
|
+
<contributors>
|
53
|
+
<contributor contributorType="ProjectLeader">
|
54
|
+
<contributorName>Richard, Hallett</contributorName>
|
55
|
+
<givenName>Richard</givenName>
|
56
|
+
<familyName>Hallett</familyName>
|
57
|
+
</contributor>
|
58
|
+
</contributors>
|
59
|
+
</relatedItem>
|
60
|
+
</relatedItems>
|
61
|
+
</resource>
|
@@ -1555,6 +1555,49 @@ describe Bolognese::Metadata, vcr: true do
|
|
1555
1555
|
)
|
1556
1556
|
end
|
1557
1557
|
|
1558
|
+
it "Schema 4.4 related items from string with attributes" do
|
1559
|
+
input = fixture_path + "datacite-example-relateditems-with-attributes.xml"
|
1560
|
+
subject = Bolognese::Metadata.new(input: input)
|
1561
|
+
expect(subject.valid?).to be true
|
1562
|
+
|
1563
|
+
expect(subject.related_items.last).to eq(
|
1564
|
+
{
|
1565
|
+
"relatedItemType"=>"Journal",
|
1566
|
+
"relationType"=>"IsPublishedIn",
|
1567
|
+
"relatedItemIdentifier"=>
|
1568
|
+
{
|
1569
|
+
"relatedItemIdentifier"=>"10.5072/john-smiths-1234",
|
1570
|
+
"relatedItemIdentifierType"=>"DOI",
|
1571
|
+
"relatedMetadataScheme"=>"citeproc+json",
|
1572
|
+
"schemeURI"=>"https://github.com/citation-style-language/schema/raw/master/csl-data.json",
|
1573
|
+
"schemeType"=>"URL"
|
1574
|
+
},
|
1575
|
+
"creators" =>
|
1576
|
+
[
|
1577
|
+
{"nameType"=>"Personal", "name"=>"Smith, John", "givenName"=>"John", "familyName"=>"Smith"}
|
1578
|
+
],
|
1579
|
+
"titles"=>
|
1580
|
+
[
|
1581
|
+
{"title"=>"Understanding the fictional John Smith"},
|
1582
|
+
{"title"=>"A detailed look", "titleType"=>"Subtitle"}
|
1583
|
+
],
|
1584
|
+
"volume"=>"776",
|
1585
|
+
"issue"=>"1",
|
1586
|
+
"number"=>"1",
|
1587
|
+
"numberType"=>"Chapter",
|
1588
|
+
"firstPage"=>"50",
|
1589
|
+
"lastPage"=>"60",
|
1590
|
+
"publisher"=>"Example Inc",
|
1591
|
+
"publicationYear"=>"1776",
|
1592
|
+
"edition"=>"1",
|
1593
|
+
"contributors"=>
|
1594
|
+
[
|
1595
|
+
{"name"=>"Hallett, Richard", "givenName"=>"Richard", "familyName"=>"Hallett", "contributorType"=>"ProjectLeader"}
|
1596
|
+
]
|
1597
|
+
}
|
1598
|
+
)
|
1599
|
+
end
|
1600
|
+
|
1558
1601
|
it "Schema 4.4 dissertation from string" do
|
1559
1602
|
input = fixture_path + "datacite-example-dissertation-v4.4.xml"
|
1560
1603
|
subject = Bolognese::Metadata.new(input: input)
|
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.
|
4
|
+
version: 1.11.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: 2022-10-
|
11
|
+
date: 2022-10-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: maremma
|
@@ -30,20 +30,6 @@ dependencies:
|
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: '5'
|
33
|
-
- !ruby/object:Gem::Dependency
|
34
|
-
name: faraday
|
35
|
-
requirement: !ruby/object:Gem::Requirement
|
36
|
-
requirements:
|
37
|
-
- - "~>"
|
38
|
-
- !ruby/object:Gem::Version
|
39
|
-
version: 0.17.3
|
40
|
-
type: :runtime
|
41
|
-
prerelease: false
|
42
|
-
version_requirements: !ruby/object:Gem::Requirement
|
43
|
-
requirements:
|
44
|
-
- - "~>"
|
45
|
-
- !ruby/object:Gem::Version
|
46
|
-
version: 0.17.3
|
47
33
|
- !ruby/object:Gem::Dependency
|
48
34
|
name: nokogiri
|
49
35
|
requirement: !ruby/object:Gem::Requirement
|
@@ -785,6 +771,7 @@ files:
|
|
785
771
|
- spec/fixtures/datacite-example-geolocation.xml
|
786
772
|
- spec/fixtures/datacite-example-nameIdentifier-with-schemeURI.xml
|
787
773
|
- spec/fixtures/datacite-example-polygon-v4.1.xml
|
774
|
+
- spec/fixtures/datacite-example-relateditems-with-attributes.xml
|
788
775
|
- spec/fixtures/datacite-example-relateditems.xml
|
789
776
|
- spec/fixtures/datacite-example-xs-string.xml
|
790
777
|
- spec/fixtures/datacite-formats-with-xs.xml
|