bolognese 0.10.15 → 0.10.16

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 180470bfdc1b73ffafe2e0f0cc6e3e18c280e7a87899507d3641cce3bd08f11e
4
- data.tar.gz: d07fb88aa72e33d002b3b532502d4ec5e83f832a2ce7d9a08dcea97282a84274
3
+ metadata.gz: a009bb63af24c28139e8e05c47602792c1471958bf852933692b18d268a472f4
4
+ data.tar.gz: cf0077dba6bca12875259089b41ed0b63cdd4df1d255f7c37bad953548d51a52
5
5
  SHA512:
6
- metadata.gz: 44511ffa67b94d12545db4a390bb5f1f4f113ecaa4c4d8b451febeb62d1dafd73b51a5a6e8f3b8e28b09863b18e70ed2c48429cd11ed6481de109c512fb1319e
7
- data.tar.gz: fe4fa869359c68b58b82f1f7b8f0c367caa36e2965a27d4c9e3f0e6e5a80234d543c8febb3f852ad680d8100a81ae02598aae502acfd84dff9ce75865d45002d
6
+ metadata.gz: 0974d89b07f5f3c45e90c4c91a06844f8f577ce3e0c5a04fa544dcdc12a69ae3c39dc5b1a3ce71c0d2fbea0f10ae0b807e4bd56412f8f7114c18610d8ffeb51d
7
+ data.tar.gz: 9af779cb903ed4acf2c5914c142d769b08e6756b87d8370efc655dd1399b26718dd19f08da687930e2db58ad14ab608d5a3f82d528173211de45d2b212b87806
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bolognese (0.10.15)
4
+ bolognese (0.10.16)
5
5
  activesupport (>= 4.2.5, < 6)
6
6
  benchmark_methods (~> 0.7)
7
7
  bibtex-ruby (~> 4.1)
@@ -48,7 +48,7 @@ GEM
48
48
  rdf (>= 2.2, < 4.0)
49
49
  sxp (~> 1.0)
50
50
  excon (0.62.0)
51
- faraday (0.15.1)
51
+ faraday (0.15.2)
52
52
  multipart-post (>= 1.2, < 3)
53
53
  faraday-encoding (0.0.4)
54
54
  faraday
@@ -313,7 +313,7 @@ module Bolognese
313
313
  end
314
314
 
315
315
  def container_title
316
- Array.wrap(is_part_of).first.to_h.fetch("title", nil)
316
+ meta.fetch("container_title", nil) || Array.wrap(is_part_of).first.to_h.fetch("title", nil)
317
317
  end
318
318
 
319
319
  def descriptions
@@ -70,6 +70,9 @@ module Bolognese
70
70
  { "title_type" => r["titleType"], "lang" => r["xml:lang"], "text" => sanitize(r["__content__"]) }.compact
71
71
  end
72
72
  end.unwrap
73
+
74
+ container_title = Array.wrap(meta.dig("descriptions", "description")).find { |r| r["descriptionType"] == "SeriesInformation" }.to_h.fetch("__content__", nil)
75
+
73
76
  alternate_name = Array.wrap(meta.dig("alternateIdentifiers", "alternateIdentifier")).map do |r|
74
77
  { "type" => r["alternateIdentifierType"], "name" => r["__content__"] }.compact
75
78
  end.unwrap
@@ -108,6 +111,7 @@ module Bolognese
108
111
  "alternate_name" => alternate_name,
109
112
  "author" => get_authors(meta.dig("creators", "creator")),
110
113
  "editor" => get_authors(Array.wrap(meta.dig("contributors", "contributor")).select { |r| r["contributorType"] == "Editor" }),
114
+ "container_title" => container_title,
111
115
  "publisher" => meta.fetch("publisher", nil),
112
116
  "service_provider" => "DataCite",
113
117
  "funding" => funding,
@@ -112,11 +112,11 @@ module Bolognese
112
112
  end
113
113
 
114
114
  def schema_org_is_previous_version_of(meta)
115
- schema_org_related_identifier(meta, relation_type: "isPredecessor")
115
+ schema_org_related_identifier(meta, relation_type: "PredecessorOf")
116
116
  end
117
117
 
118
118
  def schema_org_is_new_version_of(meta)
119
- schema_org_related_identifier(meta, relation_type: "isSuccessor")
119
+ schema_org_related_identifier(meta, relation_type: "SuccessorOf")
120
120
  end
121
121
 
122
122
  def schema_org_references(meta)
@@ -1,3 +1,3 @@
1
1
  module Bolognese
2
- VERSION = "0.10.15"
2
+ VERSION = "0.10.16"
3
3
  end
@@ -0,0 +1,103 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://app.datacite.org/prefixes/10.4229
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Maremma 4.0.5 - 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: OK
18
+ headers:
19
+ Date:
20
+ - Mon, 28 May 2018 19:59:29 GMT
21
+ Content-Type:
22
+ - application/vnd.api+json; charset=utf-8
23
+ Connection:
24
+ - keep-alive
25
+ Status:
26
+ - 200 OK
27
+ X-Anonymous-Consumer:
28
+ - 'true'
29
+ Cache-Control:
30
+ - max-age=0, private, must-revalidate
31
+ Vary:
32
+ - Accept-Encoding, Origin
33
+ Etag:
34
+ - W/"399fd9c15c3050282c7afd157028d097"
35
+ X-Runtime:
36
+ - '0.012449'
37
+ X-Request-Id:
38
+ - b0f99e20-f9da-4b65-9502-dbfc5c5c2b80
39
+ X-Powered-By:
40
+ - Phusion Passenger 5.3.1
41
+ Server:
42
+ - nginx/1.14.0 + Phusion Passenger 5.3.1
43
+ body:
44
+ encoding: ASCII-8BIT
45
+ string: '{"data":{"id":"10.4229","type":"prefixes","attributes":{"registration-agency":"DataCite","created":"2010-01-01T00:00:00.000Z","updated":null},"relationships":{"clients":{"data":[{"id":"tib.wip","type":"clients"}]},"providers":{"data":[{"id":"tib","type":"providers"}]}}},"included":[{"id":"tib.wip","type":"clients","attributes":{"name":"WIP
46
+ - Renewable Energies","symbol":"TIB.WIP","year":2011,"contact-name":"Anna
47
+ Werner","contact-email":"Anna.Werner@wip-munich.de","domains":"eupvsec-proceedings.com","url":null,"is-active":true,"has-password":true,"created":"2011-11-29T14:57:13Z","updated":"2018-05-28T02:30:09Z"},"relationships":{"prefixes":{"meta":{}},"provider":{"meta":{}},"repository":{"meta":{}}}},{"id":"tib","type":"providers","attributes":{"name":"German
48
+ National Library of Science and Technology","symbol":"TIB","website":"http://www.tib.eu","contact-name":"Steffen
49
+ Krentz","contact-email":"steffen.krentz@tib.eu","phone":"+49 511 762 17642","description":"The
50
+ TIB is the German National Library for all areas of engineering as well as
51
+ architecture, chemistry, information technology, mathematics and physics.
52
+ We are the world''s largest specialised library for science and technology
53
+ and are part of the German research infrastructure. Our function is the comprehensive
54
+ procurement and archival storage of technical scientific literature from all
55
+ over the world. TIB was the first DOI registration agency for primary data
56
+ worldwide. We have been providing DOI registration services since 2005 and
57
+ we now work directly with over 40 data centres. TIB is one of the founding
58
+ members of DataCite and is currently the Business Office. We provide DOI registration
59
+ services for all German data centres in the fields of engineering, architecture,
60
+ chemistry, information technology, mathematics and physics. Our current focus
61
+ is on providing DOI names for primary data and grey literature.","country":"DE","logo-url":"https://assets.datacite.org/images/members/tib.png","institution-type":null,"is-active":true,"has-password":true,"joined":"2009-12-01","created":"2010-01-01T00:00:00.000Z","updated":"2018-05-28T02:25:50.000Z"},"relationships":{"clients":{"meta":{}},"prefixes":{"meta":{}}}}]}'
62
+ http_version:
63
+ recorded_at: Mon, 28 May 2018 19:59:29 GMT
64
+ - request:
65
+ method: get
66
+ uri: https://search.datacite.org/api?defType=edismax&fl=doi,url,xml,state,allocator_symbol,datacentre_symbol,media,minted,updated&q=10.4229/23rdeupvsec2008-5co.8.3&wt=json
67
+ body:
68
+ encoding: US-ASCII
69
+ string: ''
70
+ headers:
71
+ User-Agent:
72
+ - Maremma 4.0.5 - https://github.com/datacite/maremma
73
+ Accept:
74
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
75
+ response:
76
+ status:
77
+ code: 200
78
+ message: OK
79
+ headers:
80
+ Date:
81
+ - Mon, 28 May 2018 19:59:29 GMT
82
+ Content-Type:
83
+ - application/json;charset=UTF-8
84
+ Connection:
85
+ - keep-alive
86
+ Server:
87
+ - nginx/1.10.3 (Ubuntu)
88
+ Access-Control-Allow-Origin:
89
+ - "*"
90
+ Access-Control-Allow-Methods:
91
+ - GET, POST, PUT, DELETE, OPTIONS
92
+ Access-Control-Allow-Headers:
93
+ - DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,Authorization
94
+ Access-Control-Expose-Headers:
95
+ - DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,Authorization
96
+ body:
97
+ encoding: ASCII-8BIT
98
+ string: '{"responseHeader":{"status":0,"QTime":15},"response":{"numFound":1,"start":0,"docs":[{"datacentre_symbol":"TIB.WIP","xml":"PD94bWwgdmVyc2lvbj0iMS4wIj8+CjxyZXNvdXJjZSB4bWxucz0iaHR0cDovL2RhdGFjaXRlLm9yZy9zY2hlbWEva2VybmVsLTIuMiIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtMi4yIGh0dHA6Ly9zY2hlbWEuZGF0YWNpdGUub3JnL21ldGEva2VybmVsLTIuMi9tZXRhZGF0YS54c2QiPg0KCTxpZGVudGlmaWVyIGlkZW50aWZpZXJUeXBlPSJET0kiPjEwLjQyMjkvMjNyZEVVUFZTRUMyMDA4LTVDTy44LjM8L2lkZW50aWZpZXI+DQoJPGNyZWF0b3JzPg0KCQk8Y3JlYXRvcj48Y3JlYXRvck5hbWU+TGxhbWFzLCBQLjwvY3JlYXRvck5hbWU+PC9jcmVhdG9yPgoJCTxjcmVhdG9yPjxjcmVhdG9yTmFtZT5Xb2xsbnksIE0uPC9jcmVhdG9yTmFtZT48L2NyZWF0b3I+CgkJPGNyZWF0b3I+PGNyZWF0b3JOYW1lPlRhcGFubGlzLCBTLjwvY3JlYXRvck5hbWU+PC9jcmVhdG9yPgoJPC9jcmVhdG9ycz4NCgk8dGl0bGVzPg0KCQk8dGl0bGU+UnVyYWwgRWxlY3RyaWZpY2F0aW9uIFdpdGggSHlicmlkIFBvd2VyIFN5c3RlbXMgQmFzZWQgb24gUmVuZXdhYmxlcyAtIFRlY2huaWNhbCBTeXN0ZW0gQ29uZmlndXJhdGlvbnMgRnJvbSB0aGUgUG9pbnQgb2YgVmlldyBvZiB0aGUgRXVyb3BlYW4gSW5kdXN0cnk8L3RpdGxlPg0KCTwvdGl0bGVzPg0KCTxwdWJsaXNoZXI+V0lQLU11bmljaDwvcHVibGlzaGVyPg0KCTxwdWJsaWNhdGlvblllYXI+MjAwODwvcHVibGljYXRpb25ZZWFyPg0KCTxzdWJqZWN0cz4NCgkJPHN1YmplY3Q+UFYgU3lzdGVtczwvc3ViamVjdD4NCgkJPHN1YmplY3Q+T2ZmLWdyaWQgQXBwbGljYXRpb25zPC9zdWJqZWN0Pg0KCTwvc3ViamVjdHM+DQoJPGRhdGVzPg0KCQk8ZGF0ZSBkYXRlVHlwZT0iVmFsaWQiPjIwMDgtMTEtMDE8L2RhdGU+DQoJPC9kYXRlcz4NCgk8bGFuZ3VhZ2U+ZW5nPC9sYW5ndWFnZT4NCgk8cmVzb3VyY2VUeXBlIHJlc291cmNlVHlwZUdlbmVyYWw9IlRleHQiPkFydGljbGU8L3Jlc291cmNlVHlwZT4NCgk8YWx0ZXJuYXRlSWRlbnRpZmllcnM+PGFsdGVybmF0ZUlkZW50aWZpZXIgYWx0ZXJuYXRlSWRlbnRpZmllclR5cGU9IklTQk4iPjMtOTM2MzM4LTI0LTg8L2FsdGVybmF0ZUlkZW50aWZpZXI+PC9hbHRlcm5hdGVJZGVudGlmaWVycz4NCgk8c2l6ZXM+DQoJCTxzaXplPjQgcGFnZXM8L3NpemU+DQoJCTxzaXplPjEyMjIga2I8L3NpemU+DQoJPC9zaXplcz4NCgk8Zm9ybWF0cz4NCgkJPGZvcm1hdD5hcHBsaWNhdGlvbi9wZGY8L2Zvcm1hdD4NCgk8L2Zvcm1hdHM+DQoJPGRlc2NyaXB0aW9ucz4NCgkgICA8ZGVzY3JpcHRpb24gZGVzY3JpcHRpb25UeXBlPSJTZXJpZXNJbmZvcm1hdGlvbiI+MjNyZCBFdXJvcGVhbiBQaG90b3ZvbHRhaWMgU29sYXIgRW5lcmd5IENvbmZlcmVuY2UgYW5kIEV4aGliaXRpb24sIDEtNSBTZXB0ZW1iZXIgMjAwOCwgVmFsZW5jaWEsIFNwYWluOyAzMzUzLTMzNTY8L2Rlc2NyaXB0aW9uPg0KICAgICAgPGRlc2NyaXB0aW9uIGRlc2NyaXB0aW9uVHlwZT0iQWJzdHJhY3QiPg0KQWltIG9mIHRoaXMgcGFwZXIgaXMgdGhlIHByZXNlbnRhdGlvbiBvZiB0aGUgd29yayBhbmQgdGhlIHNlcnZpY2VzIG9mIHRoZSBBbGxpYW5jZSBmb3IgUnVyYWwgRWxlY3RyaWZpY2F0aW9uIGFuZCBpbnRyb2R1Y3Rpb24gb2Ygc3RhbmRhcmRpc2VkIHN5c3RlbSBjb25maWd1cmF0aW9uIGNvbmNlcHRzIGZvciB0aGUgcnVyYWwgZWxlY3RyaWZpY2F0aW9uIGJ5IEh5YnJpZCBTeXN0ZW1zIGJhc2VkIG9uIHJlbmV3YWJsZSBlbmVyZ3kgc291cmNlcy4gVGhlIEFsbGlhbmNlIG9mIFJ1cmFsIEVsZWN0cmlmaWNhdGlvbiAoQVJFKSB3YXMgZm91bmRlZCBpbiAyMDA2IGluIHJlc3BvbnNlIHRvIHRoZSBuZWVkIHRvIHByb3ZpZGUgc3VzdGFpbmFibGUgZWxlY3RyaWNpdHkgdG8gdGhlIGRldmVsb3Bpbmcgd29ybGQsIGFuZCB0byBmYWNpbGl0YXRlIHRoZSBpbnZvbHZlbWVudCBvZiBpdHMgbWVtYmVycyBpbiB0aGUgZW1lcmdpbmcgcnVyYWwgZW5lcmd5IG1hcmtldHMuIFRoZSBncmVhdGVzdCBzdHJlbmd0aCBvZiBBUkUgaXMgaXRzIHJvYnVzdCBpbmR1c3RyeS1iYXNlZCBhcHByb2FjaCwgY291cGxlZCB3aXRoIHRoZSBhYmlsaXR5IHRvIGNvbWJpbmUgZGlmZmVyZW50IHJlbmV3YWJsZSBlbmVyZ3kgc291cmNlcyBpbiBvcmRlciB0byBwcm92aWRlIG1vcmUgZWZmaWNpZW50IGFuZCByZWxpYWJsZSBzb2x1dGlvbnMgZm9yIHJ1cmFsIGVsZWN0cmlmaWNhdGlvbi4gQVJFwrRzIG1haW4gb2JqZWN0aXZlcyBhcmUgdG86IEluY3JlYXNlIGF3YXJlbmVzcyBvZiB0aGUgcG90ZW50aWFsIG9mIHJlbmV3YWJsZSBlbmVyZ3kgaW4gdGhlIGZpZ2h0IGFnYWluc3QgY2xpbWF0ZQpjaGFuZ2UgYW5kIHBvdmVydHk7IEFjY2VsZXJhdGUgdGhlIGRlcGxveW1lbnQgYW5kIHVzZSBvZiByZW5ld2FibGUgZW5lcmd5IHRlY2hub2xvZ2llcyB3aXRoaW4gZGV2ZWxvcGluZyBjb3VudHJpZXM7IEdlbmVyYXRlIGZpbmFuY2lhbCByZXNvdXJjZXMgZm9yIHJ1cmFsIGVsZWN0cmlmaWNhdGlvbjsgUHJvbW90ZSBhbmQgc3VwcG9ydCB0aGUgZGV2ZWxvcG1lbnQgb2YgaGVhbHRoeQpkZWNlbnRyYWxpemVkIGVuZXJneSBtYXJrZXRzLiBBUkUgaXMgZGV2ZWxvcGluZyBhIG51bWJlciBvZiBjb21tdW5pY2F0aW9uIHRvb2xzIGFuZCBtYXRlcmlhbHMgdG8gY2Fycnkgb3V0IHRoZXNlIG9iamVjdGl2ZXMsIGluY2x1ZGluZyB0aGUgY3JlYXRpb24gb2YgZGlmZmVyZW50IFdvcmtpbmcgR3JvdXBzIHRvIGFzc2VzcyB0aGUgc2VydmljZXMgYW5kIHRlY2hub2xvZ2llcyBjdXJyZW50bHkgc3VwcGxpZWQgdG8gcnVyYWwgYXJlYXM7IHRvIHN1cHBvcnQgdGhlIGNyZWF0aW9uIG9mIHN1aXRhYmxlIGZpbmFuY2luZyBpbnN0cnVtZW50cywgYWRhcHRlZCB0byB0aGVzZSB0ZWNobm9sb2dpZXMgYW5kIHRvIHB1c2ggZm9yd2FyZCB0aGUgb2ZmIGdyaWQgbWFya2V0cyBmb3IgcnVyYWwgZWxlY3RyaWZpY2F0aW9uLiBBdXRvbm9tb3VzIGRlY2VudHJhbGl6ZWQgKG9mZiBncmlkKSBydXJhbCBlbGVjdHJpZmljYXRpb24gLWJhc2VkIG9uIHRoZSBnZW5lcmF0aW9uIG9mIHJlbmV3YWJsZSBlbmVyZ3kgcG93ZXIgb24gc2l0ZSB0aHJvdWdoIHRoZSBpbnN0YWxsYXRpb24gb2Ygc3RhbmQgYWxvbmUgcG93ZXIgc3lzdGVtcyBpbiBydXJhbCBob3VzZWhvbGRzLSwgYW5kIHRoZSBzZXQgdXAgb2YgZWxlY3RyaWNpdHkgZGlzdHJpYnV0aW9uIG1pbmktZ3JpZHMgLWZlZCBieSBSRVMgb3IgbWl4ZWQgc3lzdGVtcy0sIGhhdmUgYmVlbiBwcm92ZW4gY2FwYWJsZSBvZiBkZWxpdmVyaW5nIGhpZ2ggcXVhbGl0eSBhbmQgcmVsaWFibGUgZWxlY3RyaWNpdHkgZm9yIGxpZ2h0aW5nLCBjb21tdW5pY2F0aW9uLCB3YXRlciBzdXBwbHkgYW5kIG1vdGl2ZSBwb3dlciwgYW1vbmcgb3RoZXJzLiBPZmYtR3JpZCByZW5ld2FibGUgZW5lcmd5CnRlY2hub2xvZ2llcyBzYXRpc2Z5IGVuZXJneSBkZW1hbmQgZGlyZWN0bHkgYW5kIGF2b2lkIHRoZSBuZWVkIGZvciBsb25nIGRpc3RyaWJ1dGlvbiBpbmZyYXN0cnVjdHVyZXMuIEEgY29tYmluYXRpb24gb2YgZGlmZmVyZW50IGJ1dCBjb21wbGVtZW50YXJ5IGVuZXJneSBnZW5lcmF0aW9uIHN5c3RlbXMgYmFzZWQgb24gcmVuZXdhYmxlIGVuZXJnaWVzIG9yIG1peGVkIChSRVMtIHdpdGggYSBiYWNrdXAgb2YgTGlxdWVmaWVkIFBldHJvbGV1bSBHYXMgKExQRykvZGllc2VsL2dhc29saW5lIGdlbnNldCksIGlzIGtub3duIGFzIGEgaHlicmlkIHBvd2VyIHN5c3RlbS4gSHlicmlkIHN5c3RlbXMgY2FwdHVyZSB0aGUgYmVzdCBmZWF0dXJlcyBvZiBlYWNoIGVuZXJneSByZXNvdXJjZSBhbmQgY2FuIHByb3ZpZGUg4oCcZ3JpZC1xdWFsaXR54oCdIGVsZWN0cmljaXR5LCB3aXRoIGEgcG93ZXIgcmFuZ2UgZnJvbSBvbmUga2lsb3dhdHQgdXAgdG8gc2V2ZXJhbCBodW5kcmVkIGtpbG93YXR0cy4gVGhleSBjYW4gYmUgZGV2ZWxvcGVkIGFzIG5ldyBpbnRlZ3JhdGVkIGRlc2lnbnMgd2l0aGluIHNtYWxsIGVsZWN0cmljaXR5IGRpc3RyaWJ1dGlvbiBzeXN0ZW1zIChNaW5pLUdyaWRzKSBhbmQgY2FuIGFsc28gYmUgcmV0cm9maXR0ZWQgaW4gZGllc2VsIGJhc2VkIHBvd2VyIHN5c3RlbXMuIEh5YnJpZCBzeXN0ZW1zIGNhbiBwcm92aWRlIGEgc3RlYWR5IGNvbW11bml0eS1sZXZlbCBlbGVjdHJpY2l0eSBzZXJ2aWNlLCBzdWNoIGFzIHZpbGxhZ2UgZWxlY3RyaWZpY2F0aW9uLCBvZmZlcmluZyBhbHNvIHRoZSBwb3NzaWJpbGl0eSB0byBiZSB1cGdyYWRlZCB0aHJvdWdoIGdyaWQgY29ubmVjdGlvbiBpbiB0aGUgZnV0dXJlLiBGdXJ0aGVybW9yZSwgZHVlIHRvIHRoZWlyIGhpZ2ggbGV2ZWxzIG9mIGVmZmljaWVuY3ksIHJlbGlhYmlsaXR5IGFuZCBsb25nIHRlcm0gcGVyZm9ybWFuY2UsIHRoZXNlIHN5c3RlbXMgY2FuIGFsc28gYmUgdXNlZCBhcyBhbiBlZmZlY3RpdmUgYmFja3VwIHNvbHV0aW9uIHRvIHRoZSBwdWJsaWMgZ3JpZCBpbiBjYXNlIG9mIGJsYWNrb3V0cyBvciB3ZWFrIGdyaWRzLCBhbmQgZm9yIHByb2Zlc3Npb25hbCBlbmVyZ3kgc29sdXRpb25zLCBzdWNoIGFzIHRlbGVjb21tdW5pY2F0aW9uIHN0YXRpb25zIG9yIGVtZXJnZW5jeSByb29tcyBhdCBob3NwaXRhbHMuCiAgICAgIDwvZGVzY3JpcHRpb24+DQogICA8L2Rlc2NyaXB0aW9ucz4NCjwvcmVzb3VyY2U+DQo=","allocator_symbol":"TIB","minted":"2009-12-03T13:55:49Z","state":"findable","updated":"2012-11-06T09:04:32Z","doi":"10.4229/23RDEUPVSEC2008-5CO.8.3"}]}}
99
+
100
+ '
101
+ http_version:
102
+ recorded_at: Mon, 28 May 2018 19:59:29 GMT
103
+ recorded_with: VCR 3.0.3
@@ -317,6 +317,24 @@ describe Bolognese::Metadata, vcr: true do
317
317
  expect(subject.schema_version).to eq("http://datacite.org/schema/kernel-4")
318
318
  end
319
319
 
320
+ it "series-information" do
321
+ input = "https://doi.org/10.4229/23RDEUPVSEC2008-5CO.8.3"
322
+ subject = Bolognese::Metadata.new(input: input)
323
+ expect(subject.valid?).to be true
324
+ expect(subject.identifier).to eq("https://doi.org/10.4229/23rdeupvsec2008-5co.8.3")
325
+ expect(subject.type).to eq("ScholarlyArticle")
326
+ expect(subject.additional_type).to eq("Article")
327
+ expect(subject.resource_type_general).to eq("Text")
328
+ expect(subject.author.length).to eq(3)
329
+ expect(subject.author.first).to eq("type"=>"Person", "name"=>"P. Llamas", "givenName"=>"P.", "familyName"=>"Llamas")
330
+ expect(subject.title).to eq("Rural Electrification With Hybrid Power Systems Based on Renewables - Technical System Configurations From the Point of View of the European Industry")
331
+ expect(subject.date_published).to eq("2008")
332
+ expect(subject.container_title).to eq("23rd European Photovoltaic Solar Energy Conference and Exhibition, 1-5 September 2008, Valencia, Spain; 3353-3356")
333
+ expect(subject.publisher).to eq("WIP-Munich")
334
+ expect(subject.service_provider).to eq("DataCite")
335
+ expect(subject.schema_version).to eq("http://datacite.org/schema/kernel-2.2")
336
+ end
337
+
320
338
  it "empty subject" do
321
339
  input = "https://doi.org/10.18169/PAPDEOTTX00502"
322
340
  subject = Bolognese::Metadata.new(input: input)
@@ -133,7 +133,7 @@ describe Bolognese::Metadata, vcr: true do
133
133
  expect(json["title"]).to eq("Deutsche Version der Positive and Negative Affect Schedule (PANAS)")
134
134
  expect(json["author"]).to eq([{"family"=>"Janke", "given"=>"S."},
135
135
  {"family"=>"Glöckner-Rist", "given"=>"A."}])
136
- expect(json["container-title"]).to be_nil
136
+ expect(json["container-title"]).to eq("Zusammenstellung sozialwissenschaftlicher Items und Skalen (ZIS)")
137
137
  expect(json["issued"]).to eq("date-parts" => [[2012]])
138
138
  end
139
139
 
@@ -45,15 +45,16 @@ describe Bolognese::Metadata, vcr: true do
45
45
  ris = subject.ris.split("\r\n")
46
46
  expect(ris[0]).to eq("TY - RPRT")
47
47
  expect(ris[1]).to eq("T1 - Visions and reality: the idea of competence-oriented assessment for German medical students is not yet realised in licensing examinations")
48
- expect(ris[2]).to eq("AU - Huber-Lang, Markus")
49
- expect(ris[8]).to eq("DO - 10.3205/zma001102")
50
- expect(ris[9]).to start_with("AB - Objective: Competence orientation")
51
- expect(ris[10]).to eq("KW - medical competence")
52
- expect(ris[20]).to eq("PY - 2017")
53
- expect(ris[21]).to eq("PB - German Medical Science GMS Publishing House")
54
- expect(ris[22]).to eq("AN - urn:nbn:de:0183-zma0011024")
55
- expect(ris[24]).to eq("LA - en")
56
- expect(ris[25]).to eq("ER - ")
48
+ expect(ris[2]).to eq("T2 - GMS Journal for Medical Education; 34(2):Doc25")
49
+ expect(ris[3]).to eq("AU - Huber-Lang, Markus")
50
+ expect(ris[9]).to eq("DO - 10.3205/zma001102")
51
+ expect(ris[10]).to start_with("AB - Objective: Competence orientation")
52
+ expect(ris[11]).to eq("KW - medical competence")
53
+ expect(ris[21]).to eq("PY - 2017")
54
+ expect(ris[22]).to eq("PB - German Medical Science GMS Publishing House")
55
+ expect(ris[23]).to eq("AN - urn:nbn:de:0183-zma0011024")
56
+ expect(ris[25]).to eq("LA - en")
57
+ expect(ris[26]).to eq("ER - ")
57
58
  end
58
59
 
59
60
  it "Crossref DOI" do
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: 0.10.15
4
+ version: 0.10.16
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-05-21 00:00:00.000000000 Z
11
+ date: 2018-05-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: maremma
@@ -671,6 +671,7 @@ files:
671
671
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/leading_and_trailing_whitespace.yml
672
672
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_author_names_in_one_creatorName.yml
673
673
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_licenses.yml
674
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/series-information.yml
674
675
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/subject_scheme.yml
675
676
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/date.yml
676
677
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year-month.yml