bolognese 0.9.16 → 0.9.17

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8e3b5dfcc9f59a35dc3787205cbc5d3acb1234fa
4
- data.tar.gz: 8a5bd7038d69a484899b7c7a564dc2e51d647a2f
3
+ metadata.gz: c4bf575907432b4cceb0c59f18c11f46f8d8a048
4
+ data.tar.gz: 2688d21093927a3153ab67b8d492e18900b2d524
5
5
  SHA512:
6
- metadata.gz: 12dbc8e38c850794aad9426e19df9bb34bb8856988080db7b63e437b245f3e154ca8c03beddef970fcb0600bf84d0b865b19e6b7121d9c86f0ab917eea5b5a41
7
- data.tar.gz: 2b3681684f694194e60db100450d1d8df1e56149c7ca35460318761d284fa23616cdf3bd7fc44d1bbdb059bd24ee32f17dec75c486f93c3efcbfab93b0771120
6
+ metadata.gz: 5e8af10f8bd60543bff089d952d4325b78986d5d6240d5555b6fd820331074da0f575fc451b1aeab07658ad1f07ea649ac4a7cd704f8a2b063d50a0072c646f8
7
+ data.tar.gz: 552874744bd870c5a108593862bc9778bf80bd7c24673f2d62014685a5d01a135b41ca42fdf23025a749dae63bbc59ce523440f846bde7e0788cb4e3ef11f426
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bolognese (0.9.16)
4
+ bolognese (0.9.17)
5
5
  activesupport (>= 4.2.5, < 6)
6
6
  benchmark_methods (~> 0.7)
7
7
  bibtex-ruby (~> 4.1)
@@ -43,7 +43,7 @@ module Bolognese
43
43
  if k.is_a?(String)
44
44
  sanitize(k)
45
45
  else
46
- k.fetch("__content__", nil)
46
+ k.to_h.fetch("__content__", nil)
47
47
  end
48
48
  end.compact.join(", ").presence
49
49
  dates = Array.wrap(meta.dig("dates", "date"))
@@ -420,7 +420,7 @@ module Bolognese
420
420
  a["given"] = a["givenName"]
421
421
  a["literal"] = a["name"] unless a["familyName"].present?
422
422
  a.except("type", "@type", "id", "@id", "name", "familyName", "givenName").compact
423
- end.unwrap
423
+ end
424
424
  end
425
425
 
426
426
  def to_ris(element)
@@ -1,3 +1,3 @@
1
1
  module Bolognese
2
- VERSION = "0.9.16"
2
+ VERSION = "0.9.17"
3
3
  end
@@ -0,0 +1,99 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.datacite.org/prefixes/10.18169
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Maremma - https://github.com/datacite/maremma
12
+ Accept:
13
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: ''
18
+ headers:
19
+ Access-Control-Allow-Headers:
20
+ - Content-Type,Accept,Accept-Encoding,Origin,User-Agent,Cache-Control,Keep-Alive
21
+ Access-Control-Allow-Methods:
22
+ - GET, POST, OPTIONS
23
+ Access-Control-Allow-Origin:
24
+ - "*"
25
+ Access-Control-Max-Age:
26
+ - '1728000'
27
+ Cache-Control:
28
+ - max-age=0, private, must-revalidate
29
+ Content-Type:
30
+ - application/vnd.api+json; charset=utf-8
31
+ Date:
32
+ - Mon, 08 May 2017 16:13:02 GMT
33
+ Etag:
34
+ - W/"b8e8c74c8d2edc7cfc1ceedfe0458b59"
35
+ Server:
36
+ - openresty/1.11.2.2
37
+ Status:
38
+ - 200 OK
39
+ Vary:
40
+ - Accept-Encoding
41
+ X-Content-Type-Options:
42
+ - nosniff
43
+ X-Frame-Options:
44
+ - SAMEORIGIN
45
+ X-Powered-By:
46
+ - Phusion Passenger 5.1.2
47
+ X-Request-Id:
48
+ - 45b80e41-aa23-4d99-82a8-3a4c1883a1ad
49
+ X-Runtime:
50
+ - '0.636173'
51
+ X-Xss-Protection:
52
+ - 1; mode=block
53
+ Content-Length:
54
+ - '125'
55
+ Connection:
56
+ - keep-alive
57
+ body:
58
+ encoding: UTF-8
59
+ string: '{"data":{"id":"10.18169","type":"prefixes","attributes":{"registration-agency":"DataCite","updated":"2016-09-21T20:25:36Z"}}}'
60
+ http_version:
61
+ recorded_at: Mon, 08 May 2017 16:13:02 GMT
62
+ - request:
63
+ method: get
64
+ uri: https://search.datacite.org/api?fl=doi,xml,media,minted,updated&q=doi:10.18169/papdeottx00502&wt=json
65
+ body:
66
+ encoding: US-ASCII
67
+ string: ''
68
+ headers:
69
+ User-Agent:
70
+ - Maremma - https://github.com/datacite/maremma
71
+ Accept:
72
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
73
+ response:
74
+ status:
75
+ code: 200
76
+ message: ''
77
+ headers:
78
+ Access-Control-Allow-Methods:
79
+ - GET, POST, OPTIONS
80
+ Access-Control-Allow-Origin:
81
+ - "*"
82
+ Content-Type:
83
+ - application/json;charset=UTF-8
84
+ Date:
85
+ - Mon, 08 May 2017 16:13:02 GMT
86
+ Server:
87
+ - openresty/1.11.2.2
88
+ Content-Length:
89
+ - '1759'
90
+ Connection:
91
+ - keep-alive
92
+ body:
93
+ encoding: UTF-8
94
+ string: '{"responseHeader":{"status":0,"QTime":1},"response":{"numFound":1,"start":0,"docs":[{"xml":"PHJlc291cmNlIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtMyIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtMyBodHRwOi8vc2NoZW1hLmRhdGFjaXRlLm9yZy9tZXRhL2tlcm5lbC0zL21ldGFkYXRhLnhzZCI+DTxpZGVudGlmaWVyIGlkZW50aWZpZXJUeXBlPSJET0kiPjEwLjE4MTY5L1BBUERFT1RUWDAwNTAyPC9pZGVudGlmaWVyPg08Y3JlYXRvcnM+DTxjcmVhdG9yPg08Y3JlYXRvck5hbWU+YW5vbnltb3VzPC9jcmVhdG9yTmFtZT4NPC9jcmVhdG9yPg08L2NyZWF0b3JzPg08dGl0bGVzPg08dGl0bGU+TWVzc3VuZyBkZXIgQmlsZHVuc2NoYWVyZmUgaW4gSC4yNjQtY29kaWVydGVuIEJpbGRlcm4gdW5kIFZpZGVvc2VxdWVuemVuPC90aXRsZT4NPC90aXRsZXM+DTxwdWJsaXNoZXI+U2llbWVucyBBRzwvcHVibGlzaGVyPg08cHVibGljYXRpb25ZZWFyPjIwMTc8L3B1YmxpY2F0aW9uWWVhcj4NPHN1YmplY3RzPg08c3ViamVjdD48L3N1YmplY3Q+DTxzdWJqZWN0Pjwvc3ViamVjdD4NPHN1YmplY3Q+PC9zdWJqZWN0Pg08L3N1YmplY3RzPg08ZGF0ZXM+DTxkYXRlIGRhdGVUeXBlPSJBdmFpbGFibGUiPjA3LjA0LjIwMTc8L2RhdGU+DTwvZGF0ZXM+DTxsYW5ndWFnZT5kZTwvbGFuZ3VhZ2U+DTxyZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlR2VuZXJhbD0iRGF0YXNldCI+RGlzY2xvc3VyZTwvcmVzb3VyY2VUeXBlPg08YWx0ZXJuYXRlSWRlbnRpZmllcnM+DTxhbHRlcm5hdGVJZGVudGlmaWVyIGFsdGVybmF0ZUlkZW50aWZpZXJUeXBlPSJVUkwiPg1odHRwOi8vd3d3LnByaW9yYXJ0cmVnaXN0ZXIuY29tL3Jlc29sdmUucGhwP2Rpc2Nsb3N1cmU9T1RUWDAwNTAyDTwvYWx0ZXJuYXRlSWRlbnRpZmllcj4NPC9hbHRlcm5hdGVJZGVudGlmaWVycz4NPHNpemVzPg08c2l6ZT48L3NpemU+DTwvc2l6ZXM+DTxmb3JtYXRzPg08Zm9ybWF0PlBERjwvZm9ybWF0Pg08L2Zvcm1hdHM+DTx2ZXJzaW9uPjE8L3ZlcnNpb24+DTxkZXNjcmlwdGlvbnM+DTxkZXNjcmlwdGlvbiBkZXNjcmlwdGlvblR5cGU9IkFic3RyYWN0Ij4NPC9kZXNjcmlwdGlvbj4NPC9kZXNjcmlwdGlvbnM+DTwvcmVzb3VyY2U+DQ==","minted":"2017-04-07T11:11:49Z","updated":"2017-04-07T11:11:49Z","doi":"10.18169/PAPDEOTTX00502"}]}}
95
+
96
+ '
97
+ http_version:
98
+ recorded_at: Mon, 08 May 2017 16:13:02 GMT
99
+ recorded_with: VCR 3.0.3
@@ -203,6 +203,22 @@ describe Bolognese::Metadata, vcr: true do
203
203
  expect(subject.provider).to eq("DataCite")
204
204
  end
205
205
 
206
+ it "empty subject" do
207
+ input = "https://doi.org/10.18169/PAPDEOTTX00502"
208
+ subject = Bolognese::Metadata.new(input: input)
209
+ expect(subject.valid?).to be true
210
+ expect(subject.id).to eq("https://doi.org/10.18169/papdeottx00502")
211
+ expect(subject.type).to eq("Dataset")
212
+ expect(subject.additional_type).to eq("Disclosure")
213
+ expect(subject.resource_type_general).to eq("Dataset")
214
+ expect(subject.author).to eq("name"=>"Anonymous")
215
+ expect(subject.title).to eq( "Messung der Bildunschaerfe in H.264-codierten Bildern und Videosequenzen")
216
+ expect(subject.date_published).to eq("2017")
217
+ expect(subject.publisher).to eq("Siemens AG")
218
+ expect(subject.provider).to eq("DataCite")
219
+ expect(subject.schema_version).to eq("http://datacite.org/schema/kernel-3")
220
+ end
221
+
206
222
  # it "missing creator" do
207
223
  # string = IO.read(fixture_path + "datacite_missing_creator.xml")
208
224
  # subject = Bolognese::Metadata.new(string: string, regenerate: true)
@@ -32,7 +32,7 @@ describe Bolognese::Metadata, vcr: true do
32
32
  expect(json["id"]).to eq("https://doi.org/10.5438/4k3m-nyvg")
33
33
  expect(json["DOI"]).to eq("10.5438/4k3m-nyvg")
34
34
  expect(json["title"]).to eq("Eating your own Dog Food")
35
- expect(json["author"]).to eq("family"=>"Fenner", "given"=>"Martin")
35
+ expect(json["author"]).to eq([{"family"=>"Fenner", "given"=>"Martin"}])
36
36
  expect(json["publisher"]).to eq("DataCite")
37
37
  expect(json["issued"]).to eq("date-parts"=>[[2016, 12, 20]])
38
38
  end
@@ -45,7 +45,7 @@ describe Bolognese::Metadata, vcr: true do
45
45
  expect(json["id"]).to eq("https://doi.org/10.5438/4k3m-nyvg")
46
46
  expect(json["DOI"]).to eq("10.5438/4K3M-NYVG")
47
47
  expect(json["title"]).to eq("Eating your own Dog Food")
48
- expect(json["author"]).to eq("family" => "Fenner","given" => "Martin")
48
+ expect(json["author"]).to eq([{"family"=>"Fenner", "given"=>"Martin"}])
49
49
  expect(json["publisher"]).to eq("DataCite")
50
50
  expect(json["issued"]).to eq("date-parts" => [[2016, 12, 20]])
51
51
  end
@@ -58,7 +58,7 @@ describe Bolognese::Metadata, vcr: true do
58
58
  expect(json["id"]).to eq("https://doi.org/10.5438/4k3m-nyvg")
59
59
  expect(json["DOI"]).to eq("10.5438/4k3m-nyvg")
60
60
  expect(json["title"]).to eq("Eating your own Dog Food")
61
- expect(json["author"]).to eq("family" => "Fenner","given" => "Martin")
61
+ expect(json["author"]).to eq([{"family"=>"Fenner", "given"=>"Martin"}])
62
62
  expect(json["publisher"]).to eq("DataCite")
63
63
  expect(json["issued"]).to eq("date-parts" => [[2016, 12, 20]])
64
64
  end
@@ -130,7 +130,7 @@ describe Bolognese::Metadata, vcr: true do
130
130
  expect(json["id"]).to eq("https://doi.org/10.5438/qeg0-3gm3")
131
131
  expect(json["DOI"]).to eq("10.5438/qeg0-3gm3")
132
132
  expect(json["title"]).to eq("Maremma: a Ruby library for simplified network calls")
133
- expect(json["author"]).to eq("family" => "Fenner", "given" => "Martin")
133
+ expect(json["author"]).to eq([{"family"=>"Fenner", "given"=>"Martin"}])
134
134
  expect(json["publisher"]).to eq("DataCite")
135
135
  expect(json["issued"]).to eq("date-parts" => [[2017, 2, 24]])
136
136
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bolognese
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.16
4
+ version: 0.9.17
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Fenner
@@ -593,6 +593,7 @@ files:
593
593
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_only_full_name.yml
594
594
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_scheme.yml
595
595
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/date.yml
596
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/empty_subject.yml
596
597
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/funding_schema_version_3.yml
597
598
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/is_identical_to.yml
598
599
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/keywords_with_attributes.yml