bolognese 0.6.4 → 0.6.5

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
  SHA1:
3
- metadata.gz: 2690851dd5c74b7e9a5b6e0d896b9fdddf0ee447
4
- data.tar.gz: 787144fee4b4a236924f6eccd5b70817aec1ae04
3
+ metadata.gz: 52deb6793101a56d9a824b036aff219ba58327eb
4
+ data.tar.gz: 9f96c1a7a6920e9395f92969822bc44064fdf179
5
5
  SHA512:
6
- metadata.gz: b96de50af5318a576b5d2a5f8d17da09bb4bc407137ece77d64f724c6766211360ef50879212c51f36d665766e5d99976344a573237b8fb48f6789d23cfb137c
7
- data.tar.gz: bca8c0904a38f753d78ddd214dcadb15f065d823eaba55d3004fea8c20d563b3cb752cdc8cdac25a6881b7a5c5cef89edf448992f2768ffbf45813ab54efa0e1
6
+ metadata.gz: 893420085b143cff1dd78cbbc5ed96f34cc0497a9a998249076ba2372957bc87c0b0d48873572b10cf628e9b01df8ec0adb6d2580440afcf8c3e8037be6f49bf
7
+ data.tar.gz: 32378cb92d547a7ecb33f4a69a8e794ca0649a82865552b35794e8f7bb6af14a047fc84a6512cf6dea6df2195664977784a67e263eed1c4fde55d6d6b8b61702
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bolognese (0.6.4)
4
+ bolognese (0.6.5)
5
5
  activesupport (~> 4.2, >= 4.2.5)
6
6
  bibtex-ruby (~> 4.1)
7
7
  builder (~> 3.2, >= 3.2.2)
@@ -132,14 +132,14 @@ module Bolognese
132
132
  end
133
133
 
134
134
  def name
135
- parse_attribute(bibliographic_metadata.dig("titles", "title"))
135
+ parse_attributes(bibliographic_metadata.dig("titles", "title"))
136
136
  end
137
137
 
138
138
  def alternate_name
139
139
  if bibliographic_metadata.fetch("publisher_item", nil).present?
140
- parse_attribute(bibliographic_metadata.dig("publisher_item", "item_number"))
140
+ parse_attributes(bibliographic_metadata.dig("publisher_item", "item_number"))
141
141
  else
142
- parse_attribute(bibliographic_metadata.fetch("item_number", nil))
142
+ parse_attributes(bibliographic_metadata.fetch("item_number", nil))
143
143
  end
144
144
  end
145
145
 
@@ -155,7 +155,7 @@ module Bolognese
155
155
  def license
156
156
  access_indicator = Array.wrap(program_metadata).find { |m| m["name"] == "AccessIndicators" }
157
157
  if access_indicator.present?
158
- parse_attribute(access_indicator["license_ref"])
158
+ parse_attributes(access_indicator["license_ref"])
159
159
  else
160
160
  nil
161
161
  end
@@ -173,7 +173,7 @@ module Bolognese
173
173
  person = bibliographic_metadata.dig("contributors", "person_name")
174
174
  Array.wrap(person).select { |a| a["contributor_role"] == contributor_role }.map do |a|
175
175
  { "@type" => "Person",
176
- "@id" => parse_attribute(a["ORCID"]),
176
+ "@id" => parse_attributes(a["ORCID"]),
177
177
  "givenName" => a["given_name"],
178
178
  "familyName" => a["surname"] }.compact
179
179
  end.presence
@@ -214,7 +214,7 @@ module Bolognese
214
214
  if journal_metadata.present?
215
215
  { "@type" => "Periodical",
216
216
  "name" => journal_metadata["full_title"],
217
- "issn" => parse_attribute(journal_metadata.fetch("issn", nil)) }.compact
217
+ "issn" => parse_attributes(journal_metadata.fetch("issn", nil)) }.compact
218
218
  else
219
219
  nil
220
220
  end
@@ -86,7 +86,7 @@ module Bolognese
86
86
  end
87
87
 
88
88
  def alternate_name
89
- metadata.dig("alternateIdentifiers", "alternateIdentifier", "__content__")
89
+ parse_attributes(metadata.dig("alternateIdentifiers", "alternateIdentifier"))
90
90
  end
91
91
 
92
92
  def description
@@ -99,7 +99,7 @@ module Bolognese
99
99
  end
100
100
 
101
101
  def license
102
- metadata.dig("rightsList", "rights", "rightsURI")
102
+ parse_attributes(Array.wrap(metadata.dig("rightsList", "rights")), content: "rightsURI")
103
103
  end
104
104
 
105
105
  def keywords
@@ -113,8 +113,8 @@ module Bolognese
113
113
  end
114
114
 
115
115
  def editor
116
- editors = metadata.dig("contributors", "contributor")
117
- editors = [editors] if editors.is_a?(Hash)
116
+ editors = Array.wrap(metadata.dig("contributors", "contributor"))
117
+ .select { |r| r["contributorType"] == "Editor" }
118
118
  get_authors(editors).presence
119
119
  end
120
120
 
@@ -135,7 +135,7 @@ module Bolognese
135
135
 
136
136
  def funding_reference
137
137
  Array.wrap(metadata.dig("fundingReferences", "fundingReference")).map do |f|
138
- funder_id = parse_attribute(f["funderIdentifier"])
138
+ funder_id = parse_attributes(f["funderIdentifier"])
139
139
  { "@type" => "Organization",
140
140
  "@id" => normalize_id(funder_id),
141
141
  "name" => f["funderName"] }.compact
@@ -46,13 +46,14 @@ module Bolognese
46
46
  end
47
47
 
48
48
  def as_datacite
49
- if schema.validate(Nokogiri::XML(datacite_xml))
49
+ if validation_errors.blank?
50
50
  datacite_xml
51
51
  end
52
52
  end
53
53
 
54
54
  def validation_errors
55
55
  @validation_errors ||= schema.validate(Nokogiri::XML(datacite_xml))
56
+ .map { |error| error.to_s }
56
57
  end
57
58
 
58
59
  def insert_work(xml)
@@ -219,7 +220,9 @@ module Bolognese
219
220
  return xml unless license.present?
220
221
 
221
222
  xml.rightsList do
222
- xml.rights(LICENSE_NAMES[license], 'rightsURI' => license)
223
+ Array.wrap(license).each do |lic|
224
+ xml.rights(LICENSE_NAMES[lic], 'rightsURI' => lic)
225
+ end
223
226
  end
224
227
  end
225
228
 
@@ -66,25 +66,16 @@ module Bolognese
66
66
  end
67
67
  end
68
68
 
69
- def parse_attributes(element)
70
- if element.is_a?(String)
71
- element
72
- elsif element.is_a?(Hash)
73
- element.fetch("__content__", nil)
74
- elsif element.is_a?(Array)
75
- element.map { |e| e.fetch("__content__", nil) }
76
- else
77
- nil
78
- end
79
- end
69
+ def parse_attributes(element, options={})
70
+ content = options[:content] || "__content__"
80
71
 
81
- def parse_attribute(element)
82
72
  if element.is_a?(String)
83
73
  element
84
74
  elsif element.is_a?(Hash)
85
- element.fetch("__content__", nil)
75
+ element.fetch(content, nil)
86
76
  elsif element.is_a?(Array)
87
- element.first.fetch("__content__", nil)
77
+ a = element.map { |e| e.fetch(content, nil) }.uniq
78
+ a.length == 1 ? a.first : a
88
79
  else
89
80
  nil
90
81
  end
@@ -1,3 +1,3 @@
1
1
  module Bolognese
2
- VERSION = "0.6.4"
2
+ VERSION = "0.6.5"
3
3
  end
@@ -150,6 +150,12 @@ describe Bolognese::CLI do
150
150
  subject.options = { to: "bibtex" }
151
151
  expect { subject.convert file }.to output(/@article{https:\/\/doi.org\/10.5438\/4k3m-nyvg/).to_stdout
152
152
  end
153
+
154
+ it 'to datacite invalid' do
155
+ file = fixture_path + "datacite_missing_creator.xml"
156
+ subject.options = { to: "datacite" }
157
+ expect { subject.convert file }.to output(/http:\/\/datacite.org\/schema\/kernel-4/).to_stdout
158
+ end
153
159
  end
154
160
 
155
161
  # context "unsupported format" do
@@ -122,7 +122,7 @@ describe Bolognese::Crossref, vcr: true do
122
122
  expect(subject.date_modified).to eq("2016-08-02T12:42:41Z")
123
123
  expect(subject.page_start).to eq("1")
124
124
  expect(subject.page_end).to eq("7")
125
- expect(subject.is_part_of).to eq("@type"=>"Periodical", "name"=>"Pulmonary Medicine", "issn"=>"2090-1836")
125
+ expect(subject.is_part_of).to eq("@type"=>"Periodical", "name"=>"Pulmonary Medicine", "issn"=>["2090-1836", "2090-1844"])
126
126
  expect(subject.provider).to eq("@type"=>"Organization", "name"=>"Crossref")
127
127
  end
128
128
 
@@ -52,7 +52,7 @@ describe Bolognese::Datacite, vcr: true do
52
52
  expect(subject.schema_version).to eq("http://datacite.org/schema/kernel-4")
53
53
  end
54
54
 
55
- it "Date" do
55
+ it "date" do
56
56
  id = "https://doi.org/10.4230/lipics.tqc.2013.93"
57
57
  subject = Bolognese::Datacite.new(id: id)
58
58
  expect(subject.id).to eq("https://doi.org/10.4230/lipics.tqc.2013.93")
@@ -68,7 +68,24 @@ describe Bolognese::Datacite, vcr: true do
68
68
  expect(subject.schema_version).to eq("http://datacite.org/schema/kernel-2.1")
69
69
  end
70
70
 
71
- it "Funding schema version 3" do
71
+ it "multiple licenses" do
72
+ id = "https://doi.org/10.5281/ZENODO.48440"
73
+ subject = Bolognese::Datacite.new(id: id)
74
+ expect(subject.id).to eq("https://doi.org/10.5281/zenodo.48440")
75
+ expect(subject.type).to eq("SoftwareSourceCode")
76
+ expect(subject.additional_type).to eq("Software")
77
+ expect(subject.resource_type_general).to eq("Software")
78
+ expect(subject.author).to eq([{"@type"=>"Agent", "Name"=>"Kristian Garza"}])
79
+ expect(subject.name).to eq("Analysis Tools for Crossover Experiment of UI using Choice Architecture")
80
+ expect(subject.description).to start_with("<p>&nbsp;</p>\n\n<p>This tools are used to analyse the data produced by the Crosssover Experiment")
81
+ expect(subject.license).to eq(["info:eu-repo/semantics/openAccess", "https://creativecommons.org/licenses/by-nc-sa/4.0/"])
82
+ expect(subject.date_published).to eq("2016-03-27")
83
+ expect(subject.publisher).to eq("@type"=>"Organization", "name"=>"Zenodo")
84
+ expect(subject.provider).to eq("@type"=>"Organization", "name"=>"DataCite")
85
+ expect(subject.schema_version).to eq("http://datacite.org/schema/kernel-3")
86
+ end
87
+
88
+ it "funding schema version 3" do
72
89
  id = "https://doi.org/10.5281/ZENODO.1239"
73
90
  subject = Bolognese::Datacite.new(id: id)
74
91
  expect(subject.id).to eq("https://doi.org/10.5281/zenodo.1239")
@@ -139,6 +156,13 @@ describe Bolognese::Datacite, vcr: true do
139
156
  expect(subject.citation).to eq([{"@type"=>"CreativeWork", "@id"=>"https://doi.org/10.1371/journal.ppat.1000446"}])
140
157
  expect(subject.provider).to eq("@type"=>"Organization", "name"=>"DataCite")
141
158
  end
159
+
160
+ it "missing creator" do
161
+ string = IO.read(fixture_path + "datacite_missing_creator.xml")
162
+ subject = Bolognese::Datacite.new(string: string)
163
+ expect(subject.id).to eq("https://doi.org/10.5438/4k3m-nyvg")
164
+ expect(subject.validation_errors).to eq(["Element '{http://datacite.org/schema/kernel-4}creators': Missing child element(s). Expected is ( {http://datacite.org/schema/kernel-4}creator )."])
165
+ end
142
166
  end
143
167
 
144
168
  context "get metadata as datacite xml 4.0" do
@@ -176,7 +200,7 @@ describe Bolognese::Datacite, vcr: true do
176
200
  id = "https://doi.org/10.5438/6423"
177
201
  subject = Bolognese::Datacite.new(id: id, schema_version: "http://datacite.org/schema/kernel-4")
178
202
  expect(subject.id).to eq("https://doi.org/10.5438/6423")
179
-
203
+ expect(subject.validation_errors).to be_empty
180
204
  datacite = Maremma.from_xml(subject.as_datacite).fetch("resource", {})
181
205
  expect(datacite.fetch("xsi:schemaLocation", "").split(" ").first).to eq("http://datacite.org/schema/kernel-4")
182
206
  expect(datacite.fetch("fundingReferences")).to eq("fundingReference"=>{"funderName"=>"European Commission", "funderIdentifier"=>{"funderIdentifierType"=>"Crossref Funder ID", "__content__"=>"https://doi.org/10.13039/501100000780"}})
@@ -0,0 +1,32 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://datacite.org/schema/kernel-4" xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4/metadata.xsd">
3
+ <identifier identifierType="DOI">10.5438/4K3M-NYVG</identifier>
4
+ <titles>
5
+ <title>Eating your own Dog Food</title>
6
+ </titles>
7
+ <publisher>DataCite</publisher>
8
+ <publicationYear>2016</publicationYear>
9
+ <resourceType resourceTypeGeneral="Text">BlogPosting</resourceType>
10
+ <alternateIdentifiers>
11
+ <alternateIdentifier alternateIdentifierType="Local accession number">MS-49-3632-5083</alternateIdentifier>
12
+ </alternateIdentifiers>
13
+ <subjects>
14
+ <subject>datacite</subject>
15
+ <subject>doi</subject>
16
+ <subject>metadata</subject>
17
+ </subjects>
18
+ <dates>
19
+ <date dateType="Created">2016-12-20</date>
20
+ <date dateType="Issued">2016-12-20</date>
21
+ <date dateType="Updated">2016-12-20</date>
22
+ </dates>
23
+ <relatedIdentifiers>
24
+ <relatedIdentifier relatedIdentifierType="DOI" relationType="References">10.5438/0012</relatedIdentifier>
25
+ <relatedIdentifier relatedIdentifierType="DOI" relationType="References">10.5438/55E5-T5C0</relatedIdentifier>
26
+ <relatedIdentifier relatedIdentifierType="DOI" relationType="IsPartOf">10.5438/0000-00SS</relatedIdentifier>
27
+ </relatedIdentifiers>
28
+ <version>1.0</version>
29
+ <descriptions>
30
+ <description descriptionType="Abstract">Eating your own dog food is a slang term to describe that an organization should itself use the products and services it provides. For DataCite this means that we should use DOIs with appropriate metadata and strategies for long-term preservation for...</description>
31
+ </descriptions>
32
+ </resource>
@@ -0,0 +1,186 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://doi.org/10.5281/zenodo.48440
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Maremma - https://github.com/datacite/maremma
12
+ Accept:
13
+ - application/vnd.datacite.datacite+xml
14
+ response:
15
+ status:
16
+ code: 303
17
+ message: ''
18
+ headers:
19
+ Server:
20
+ - Apache-Coyote/1.1
21
+ Vary:
22
+ - Accept
23
+ Location:
24
+ - http://data.datacite.org/10.5281%2Fzenodo.48440
25
+ Expires:
26
+ - Wed, 22 Feb 2017 23:30:53 GMT
27
+ Content-Type:
28
+ - text/html;charset=utf-8
29
+ Content-Length:
30
+ - '179'
31
+ Date:
32
+ - Wed, 22 Feb 2017 22:50:12 GMT
33
+ body:
34
+ encoding: UTF-8
35
+ string: |-
36
+ <html><head><title>Handle Redirect</title></head>
37
+ <body><a href="http://data.datacite.org/10.5281%2Fzenodo.48440">http://data.datacite.org/10.5281%2Fzenodo.48440</a></body></html>
38
+ http_version:
39
+ recorded_at: Wed, 22 Feb 2017 22:50:13 GMT
40
+ - request:
41
+ method: get
42
+ uri: http://data.datacite.org/10.5281%2Fzenodo.48440
43
+ body:
44
+ encoding: US-ASCII
45
+ string: ''
46
+ headers:
47
+ User-Agent:
48
+ - Maremma - https://github.com/datacite/maremma
49
+ Accept:
50
+ - application/vnd.datacite.datacite+xml
51
+ response:
52
+ status:
53
+ code: 301
54
+ message: ''
55
+ headers:
56
+ Server:
57
+ - openresty/1.11.2.2
58
+ Date:
59
+ - Wed, 22 Feb 2017 22:50:13 GMT
60
+ Content-Type:
61
+ - text/html
62
+ Content-Length:
63
+ - '191'
64
+ Connection:
65
+ - keep-alive
66
+ Location:
67
+ - https://data.datacite.org/10.5281%2Fzenodo.48440
68
+ body:
69
+ encoding: UTF-8
70
+ string: "<html>\r\n<head><title>301 Moved Permanently</title></head>\r\n<body
71
+ bgcolor=\"white\">\r\n<center><h1>301 Moved Permanently</h1></center>\r\n<hr><center>openresty/1.11.2.2</center>\r\n</body>\r\n</html>\r\n"
72
+ http_version:
73
+ recorded_at: Wed, 22 Feb 2017 22:50:13 GMT
74
+ - request:
75
+ method: get
76
+ uri: https://data.datacite.org/10.5281%2Fzenodo.48440
77
+ body:
78
+ encoding: US-ASCII
79
+ string: ''
80
+ headers:
81
+ User-Agent:
82
+ - Maremma - https://github.com/datacite/maremma
83
+ Accept:
84
+ - application/vnd.datacite.datacite+xml
85
+ response:
86
+ status:
87
+ code: 200
88
+ message: ''
89
+ headers:
90
+ Server:
91
+ - openresty/1.11.2.2
92
+ Date:
93
+ - Wed, 22 Feb 2017 22:50:13 GMT
94
+ Content-Type:
95
+ - application/vnd.datacite.datacite+xml
96
+ Content-Length:
97
+ - '2773'
98
+ Connection:
99
+ - keep-alive
100
+ Cache-Control:
101
+ - no-transform, max-age=3600
102
+ Last-Modified:
103
+ - Mon, 04 Apr 2016 15:04:32 GMT
104
+ Vary:
105
+ - Accept
106
+ Access-Control-Allow-Origin:
107
+ - "*"
108
+ Access-Control-Allow-Methods:
109
+ - GET, POST, OPTIONS
110
+ body:
111
+ encoding: UTF-8
112
+ string: |
113
+ <resource xmlns="http://datacite.org/schema/kernel-3" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://datacite.org/schema/kernel-3 http://schema.datacite.org/meta/kernel-3/metadata.xsd">
114
+ <identifier identifierType="DOI">10.5281/zenodo.48440</identifier>
115
+ <creators>
116
+ <creator>
117
+ <creatorName>Kristian Garza</creatorName>
118
+ </creator>
119
+ </creators>
120
+ <titles>
121
+ <title>Analysis Tools for Crossover Experiment of UI using Choice Architecture</title>
122
+ </titles>
123
+ <publisher>Zenodo</publisher>
124
+ <publicationYear>2016</publicationYear>
125
+ <subjects>
126
+ <subject>choice architecture</subject>
127
+ <subject>crossover experiment</subject>
128
+ <subject>hci</subject>
129
+ </subjects>
130
+ <dates>
131
+ <date dateType="Issued">2016-03-27</date>
132
+ </dates>
133
+ <resourceType resourceTypeGeneral="Software"/>
134
+ <alternateIdentifiers>
135
+ <alternateIdentifier alternateIdentifierType="URL">http://zenodo.org/record/48440</alternateIdentifier>
136
+ </alternateIdentifiers>
137
+ <relatedIdentifiers>
138
+ <relatedIdentifier relationType="IsSupplementTo" relatedIdentifierType="URL">https://github.com/kjgarza/frame_experiment_analysis/tree/v1.0</relatedIdentifier>
139
+ </relatedIdentifiers>
140
+ <rightsList>
141
+ <rights rightsURI="info:eu-repo/semantics/openAccess">Open Access</rights>
142
+ <rights rightsURI="https://creativecommons.org/licenses/by-nc-sa/4.0/">Creative Commons Attribution-NonCommercial-ShareAlike</rights>
143
+ </rightsList>
144
+ <descriptions>
145
+ <description descriptionType="Abstract">&lt;p&gt;&amp;nbsp;&lt;/p&gt;
146
+
147
+ &lt;p&gt;This tools are used to analyse the data produced by the Crosssover Experiment I designed to test Choice Architecture techniques as UI interventions in a SEEk4Science data catalogue. It contains:&lt;/p&gt;
148
+
149
+ &lt;p&gt;- Data structures for the experimental data.&lt;br /&gt;
150
+ - Visualisation functions&lt;br /&gt;
151
+ - Analysis functions&lt;/p&gt;
152
+
153
+ &lt;p&gt;## Installation&lt;/p&gt;
154
+
155
+ &lt;p&gt;- R&lt;br /&gt;
156
+ - python&lt;br /&gt;
157
+ - ipython 4&lt;/p&gt;
158
+
159
+ &lt;p&gt;Clone and use.&lt;/p&gt;
160
+
161
+ &lt;p&gt;## Usage&lt;/p&gt;
162
+
163
+ &lt;p&gt;&lt;br /&gt;
164
+ ```python&lt;br /&gt;
165
+ source(&amp;#39;parallel_plot.r&amp;#39;)&lt;br /&gt;
166
+ with(z, parallelset(trt,response, freq=count, alpha=0.2))&lt;br /&gt;
167
+ ```&lt;/p&gt;
168
+
169
+ &lt;p&gt;&lt;br /&gt;
170
+ ## Contributing&lt;/p&gt;
171
+
172
+ &lt;p&gt;1. Fork it!&lt;br /&gt;
173
+ 2. Create your feature branch: `git checkout -b my-new-feature`&lt;br /&gt;
174
+ 3. Commit your changes: `git commit -am &amp;#39;Add some feature&amp;#39;`&lt;br /&gt;
175
+ 4. Push to the branch: `git push origin my-new-feature`&lt;br /&gt;
176
+ 5. Submit a pull request :D&lt;/p&gt;
177
+
178
+ &lt;p&gt;&lt;br /&gt;
179
+ ## License&lt;/p&gt;
180
+
181
+ &lt;p&gt;This work supports my PhD Thesis at University of Manchester.&lt;/p&gt;</description>
182
+ </descriptions>
183
+ </resource>
184
+ http_version:
185
+ recorded_at: Wed, 22 Feb 2017 22:50:13 GMT
186
+ recorded_with: VCR 3.0.3
@@ -41,38 +41,12 @@ describe Bolognese::Crossref, vcr: true do
41
41
  it "array" do
42
42
  element = [{ "__content__" => "10.5061/DRYAD.8515" }]
43
43
  response = subject.parse_attributes(element)
44
- expect(response).to eq(["10.5061/DRYAD.8515"])
45
- end
46
-
47
- it "nil" do
48
- element = nil
49
- response = subject.parse_attributes(element)
50
- expect(response).to be_nil
51
- end
52
- end
53
-
54
- context "parse attribute" do
55
- it "string" do
56
- element = "10.5061/DRYAD.8515"
57
- response = subject.parse_attribute(element)
58
- expect(response).to eq("10.5061/DRYAD.8515")
59
- end
60
-
61
- it "hash" do
62
- element = { "__content__" => "10.5061/DRYAD.8515" }
63
- response = subject.parse_attribute(element)
64
- expect(response).to eq("10.5061/DRYAD.8515")
65
- end
66
-
67
- it "array" do
68
- element = [{ "__content__" => "10.5061/DRYAD.8515" }]
69
- response = subject.parse_attribute(element)
70
44
  expect(response).to eq("10.5061/DRYAD.8515")
71
45
  end
72
46
 
73
47
  it "nil" do
74
48
  element = nil
75
- response = subject.parse_attribute(element)
49
+ response = subject.parse_attributes(element)
76
50
  expect(response).to be_nil
77
51
  end
78
52
  end
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.6.4
4
+ version: 0.6.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Fenner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-02-22 00:00:00.000000000 Z
11
+ date: 2017-02-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: maremma
@@ -343,6 +343,7 @@ files:
343
343
  - spec/fixtures/crossref.bib
344
344
  - spec/fixtures/crossref.xml
345
345
  - spec/fixtures/datacite.xml
346
+ - spec/fixtures/datacite_missing_creator.xml
346
347
  - spec/fixtures/schema_org.json
347
348
  - spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/as_bibtex.yml
348
349
  - spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/as_crossref.yml
@@ -419,6 +420,7 @@ files:
419
420
  - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/Funding_schema_version_3.yml
420
421
  - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/Funding_schema_version_4.yml
421
422
  - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/Schema_org_JSON.yml
423
+ - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata/multiple_licenses.yml
422
424
  - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata_as_bibtex/BlogPosting.yml
423
425
  - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata_as_bibtex/Dataset.yml
424
426
  - spec/fixtures/vcr_cassettes/Bolognese_Datacite/get_metadata_as_datacite_xml_4_0/Dataset.yml