bolognese 1.9.3 → 1.9.4
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/CHANGELOG.md +21 -4
- data/Gemfile.lock +5 -5
- data/lib/bolognese/readers/datacite_reader.rb +14 -3
- data/lib/bolognese/version.rb +1 -1
- data/spec/fixtures/datacite-geolocationpolygons-multiple.xml +20 -0
- data/spec/readers/datacite_reader_spec.rb +10 -2
- data/spec/writers/schema_org_writer_spec.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f8f8cb84bf74f8a75d2469aa5a3e49dd4ba0adbd9b465d60e11bdbbd8252c267
|
|
4
|
+
data.tar.gz: 3fc9719de82891ce908fd4af271f05fc1f024442d0a1e6bc88b65db438118ab3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 797b852b3dafd982249bb57a91dff364bd2dcc6d2b52cb50494dcc6a5cfec7a2fc714a27eed6cd46dde158c495ca93154a858ca0f1800a3990b3f6708878fcec
|
|
7
|
+
data.tar.gz: c19d5e7833401549a98b71a13e9063b52bbdfaaa70ff2165272aff311b2d3df6ae765ae79a4ad62ae45fb259520a3e3b39ada0dbef838cc602972ecdad50305b
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [Unreleased](https://github.com/datacite/bolognese/tree/HEAD)
|
|
4
|
+
|
|
5
|
+
[Full Changelog](https://github.com/datacite/bolognese/compare/1.9.3...HEAD)
|
|
6
|
+
|
|
7
|
+
**Implemented enhancements:**
|
|
8
|
+
|
|
9
|
+
- Should we resolve the Namespace URL for schema [\#62](https://github.com/datacite/bolognese/issues/62)
|
|
10
|
+
|
|
11
|
+
**Fixed bugs:**
|
|
12
|
+
|
|
13
|
+
- Singular geoLocationPolygons are wrapped in additional array [\#110](https://github.com/datacite/bolognese/issues/110)
|
|
14
|
+
|
|
15
|
+
**Merged pull requests:**
|
|
16
|
+
|
|
17
|
+
- Support returning single geoLocationPolygon [\#111](https://github.com/datacite/bolognese/pull/111) ([richardhallett](https://github.com/richardhallett))
|
|
18
|
+
|
|
19
|
+
## [1.9.3](https://github.com/datacite/bolognese/tree/1.9.3) (2021-03-26)
|
|
20
|
+
|
|
21
|
+
[Full Changelog](https://github.com/datacite/bolognese/compare/1.9.2...1.9.3)
|
|
22
|
+
|
|
3
23
|
## [1.9.2](https://github.com/datacite/bolognese/tree/1.9.2) (2021-03-25)
|
|
4
24
|
|
|
5
25
|
[Full Changelog](https://github.com/datacite/bolognese/compare/1.9.1...1.9.2)
|
|
@@ -515,10 +535,6 @@
|
|
|
515
535
|
|
|
516
536
|
- Error when schema.org in put has array value for @type [\#66](https://github.com/datacite/bolognese/issues/66)
|
|
517
537
|
|
|
518
|
-
**Merged pull requests:**
|
|
519
|
-
|
|
520
|
-
- Default to `ScholarlyArticle` type for `citation` and `isBasedOn` relationships with datasets [\#64](https://github.com/datacite/bolognese/pull/64) ([chrisgorgo](https://github.com/chrisgorgo))
|
|
521
|
-
|
|
522
538
|
## [v.1.2.16](https://github.com/datacite/bolognese/tree/v.1.2.16) (2019-07-07)
|
|
523
539
|
|
|
524
540
|
[Full Changelog](https://github.com/datacite/bolognese/compare/v.1.2.15...v.1.2.16)
|
|
@@ -617,6 +633,7 @@
|
|
|
617
633
|
|
|
618
634
|
**Merged pull requests:**
|
|
619
635
|
|
|
636
|
+
- Default to `ScholarlyArticle` type for `citation` and `isBasedOn` relationships with datasets [\#64](https://github.com/datacite/bolognese/pull/64) ([chrisgorgo](https://github.com/chrisgorgo))
|
|
620
637
|
- When authors is a plain string, don't try to parse [\#60](https://github.com/datacite/bolognese/pull/60) ([richardhallett](https://github.com/richardhallett))
|
|
621
638
|
|
|
622
639
|
## [v.1.1.12](https://github.com/datacite/bolognese/tree/v.1.1.12) (2019-04-15)
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
bolognese (1.9.
|
|
4
|
+
bolognese (1.9.4)
|
|
5
5
|
activesupport (>= 4.2.5)
|
|
6
6
|
benchmark_methods (~> 0.7)
|
|
7
7
|
bibtex-ruby (>= 5.1.0)
|
|
@@ -30,7 +30,7 @@ PATH
|
|
|
30
30
|
GEM
|
|
31
31
|
remote: https://rubygems.org/
|
|
32
32
|
specs:
|
|
33
|
-
activesupport (6.1.3)
|
|
33
|
+
activesupport (6.1.3.1)
|
|
34
34
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
35
35
|
i18n (>= 1.6, < 2)
|
|
36
36
|
minitest (>= 5.1)
|
|
@@ -81,7 +81,7 @@ GEM
|
|
|
81
81
|
concurrent-ruby (~> 1.0)
|
|
82
82
|
hashdiff (1.0.1)
|
|
83
83
|
htmlentities (4.3.4)
|
|
84
|
-
i18n (1.8.
|
|
84
|
+
i18n (1.8.10)
|
|
85
85
|
concurrent-ruby (~> 1.0)
|
|
86
86
|
iso8601 (0.9.1)
|
|
87
87
|
json (2.5.1)
|
|
@@ -101,7 +101,7 @@ GEM
|
|
|
101
101
|
optimist (~> 3)
|
|
102
102
|
latex-decode (0.3.2)
|
|
103
103
|
link_header (0.0.8)
|
|
104
|
-
loofah (2.9.
|
|
104
|
+
loofah (2.9.1)
|
|
105
105
|
crass (~> 1.0.2)
|
|
106
106
|
nokogiri (>= 1.5.9)
|
|
107
107
|
maremma (4.7.4)
|
|
@@ -215,4 +215,4 @@ DEPENDENCIES
|
|
|
215
215
|
webmock (~> 3.0, >= 3.0.1)
|
|
216
216
|
|
|
217
217
|
BUNDLED WITH
|
|
218
|
-
2.2.
|
|
218
|
+
2.2.16
|
|
@@ -226,6 +226,19 @@ module Bolognese
|
|
|
226
226
|
if !gl.is_a?(Hash) || gl["geoLocationPoint"].is_a?(String) || gl["geoLocationBox"].is_a?(String) || gl["geoLocationPolygon"].is_a?(String)
|
|
227
227
|
nil
|
|
228
228
|
else
|
|
229
|
+
|
|
230
|
+
# Handle scenario where multiple geoLocationPolygons are allowed within a single geoLocation
|
|
231
|
+
# we want to return an array if it's already an array (i.e. multiple geoLocationPolygons)
|
|
232
|
+
# vs if it's singular just return the object
|
|
233
|
+
# This is for backwards compatability to allow both scenarios.
|
|
234
|
+
if gl.dig("geoLocationPolygon").kind_of?(Array)
|
|
235
|
+
geoLocationPolygon = gl.dig("geoLocationPolygon").map do |glp|
|
|
236
|
+
Array.wrap(glp.dig("polygonPoint")).map { |glpp| { "polygonPoint" => glpp } }.compact.presence
|
|
237
|
+
end.compact.presence
|
|
238
|
+
else
|
|
239
|
+
geoLocationPolygon = Array.wrap(gl.dig("geoLocationPolygon", "polygonPoint")).map { |glp| { "polygonPoint" => glp } }.compact.presence
|
|
240
|
+
end
|
|
241
|
+
|
|
229
242
|
{
|
|
230
243
|
"geoLocationPoint" => {
|
|
231
244
|
"pointLatitude" => gl.dig("geoLocationPoint", "pointLatitude"),
|
|
@@ -237,9 +250,7 @@ module Bolognese
|
|
|
237
250
|
"southBoundLatitude" => gl.dig("geoLocationBox", "southBoundLatitude"),
|
|
238
251
|
"northBoundLatitude" => gl.dig("geoLocationBox", "northBoundLatitude")
|
|
239
252
|
}.compact.presence,
|
|
240
|
-
"geoLocationPolygon" =>
|
|
241
|
-
Array.wrap(glp.dig("polygonPoint")).map { |glpp| { "polygonPoint" => glpp } }.compact.presence
|
|
242
|
-
end.compact.presence,
|
|
253
|
+
"geoLocationPolygon" => geoLocationPolygon,
|
|
243
254
|
"geoLocationPlace" => parse_attributes(gl["geoLocationPlace"], first: true).to_s.strip.presence
|
|
244
255
|
}.compact
|
|
245
256
|
end
|
data/lib/bolognese/version.rb
CHANGED
|
@@ -52,5 +52,25 @@
|
|
|
52
52
|
</polygonPoint>
|
|
53
53
|
</geoLocationPolygon>
|
|
54
54
|
</geoLocation>
|
|
55
|
+
<geoLocation>
|
|
56
|
+
<geoLocationPolygon>
|
|
57
|
+
<polygonPoint>
|
|
58
|
+
<pointLongitude>65</pointLongitude>
|
|
59
|
+
<pointLatitude>80</pointLatitude>
|
|
60
|
+
</polygonPoint>
|
|
61
|
+
<polygonPoint>
|
|
62
|
+
<pointLongitude>55</pointLongitude>
|
|
63
|
+
<pointLatitude>75</pointLatitude>
|
|
64
|
+
</polygonPoint>
|
|
65
|
+
<polygonPoint>
|
|
66
|
+
<pointLongitude>45</pointLongitude>
|
|
67
|
+
<pointLatitude>73</pointLatitude>
|
|
68
|
+
</polygonPoint>
|
|
69
|
+
<polygonPoint>
|
|
70
|
+
<pointLongitude>65</pointLongitude>
|
|
71
|
+
<pointLatitude>80</pointLatitude>
|
|
72
|
+
</polygonPoint>
|
|
73
|
+
</geoLocationPolygon>
|
|
74
|
+
</geoLocation>
|
|
55
75
|
</geoLocations>
|
|
56
76
|
</resource>
|
|
@@ -1314,7 +1314,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
|
1314
1314
|
expect(subject.agency).to eq("datacite")
|
|
1315
1315
|
expect(subject.schema_version).to eq("http://datacite.org/schema/kernel-4")
|
|
1316
1316
|
expect(subject.geo_locations.first["geoLocationPlace"]).to eq("Zandmotor, sand suppletion area on the Dutch coast.")
|
|
1317
|
-
expect(subject.geo_locations.first["geoLocationPolygon"]
|
|
1317
|
+
expect(subject.geo_locations.first["geoLocationPolygon"].first).to eq("polygonPoint"=>{"pointLatitude"=>"52.03913926329928", "pointLongitude"=>"4.1738852605822"})
|
|
1318
1318
|
end
|
|
1319
1319
|
|
|
1320
1320
|
it "Schema 4.4 from string" do
|
|
@@ -1562,7 +1562,15 @@ describe Bolognese::Metadata, vcr: true do
|
|
|
1562
1562
|
{"polygonPoint"=>{"pointLatitude"=>"73", "pointLongitude"=>"45"}},
|
|
1563
1563
|
{"polygonPoint"=>{"pointLatitude"=>"80", "pointLongitude"=>"65"}}
|
|
1564
1564
|
]
|
|
1565
|
-
] }
|
|
1565
|
+
] },
|
|
1566
|
+
{ "geoLocationPolygon"=>
|
|
1567
|
+
[
|
|
1568
|
+
{"polygonPoint"=>{"pointLatitude"=>"80", "pointLongitude"=>"65"}},
|
|
1569
|
+
{"polygonPoint"=>{"pointLatitude"=>"75", "pointLongitude"=>"55"}},
|
|
1570
|
+
{"polygonPoint"=>{"pointLatitude"=>"73", "pointLongitude"=>"45"}},
|
|
1571
|
+
{"polygonPoint"=>{"pointLatitude"=>"80", "pointLongitude"=>"65"}}
|
|
1572
|
+
]
|
|
1573
|
+
}
|
|
1566
1574
|
]
|
|
1567
1575
|
)
|
|
1568
1576
|
end
|
|
@@ -281,7 +281,7 @@ describe Bolognese::Metadata, vcr: true do
|
|
|
281
281
|
expect(json["name"]).to eq("Meteo measurements at the Sand Motor")
|
|
282
282
|
expect(json["author"]).to eq("@type"=>"Person", "familyName"=>"Den Heijer", "givenName"=>"C", "name"=>"C Den Heijer")
|
|
283
283
|
expect(json["includedInDataCatalog"]).to be_nil
|
|
284
|
-
expect(json["spatialCoverage"].dig("geo", "polygon")
|
|
284
|
+
expect(json["spatialCoverage"].dig("geo", "polygon").length).to eq(34)
|
|
285
285
|
expect(json["spatialCoverage"].dig("geo", "polygon")[0].first).to eq(["4.1738852605822", "52.03913926329928"])
|
|
286
286
|
end
|
|
287
287
|
|
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.9.
|
|
4
|
+
version: 1.9.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Martin Fenner
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2021-
|
|
11
|
+
date: 2021-04-13 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: maremma
|