bolognese 1.0.26 → 1.0.27

Sign up to get free protection for your applications and to get access to all the features.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +1 -1
  3. data/lib/bolognese/datacite_utils.rb +3 -3
  4. data/lib/bolognese/metadata.rb +9 -9
  5. data/lib/bolognese/metadata_utils.rb +2 -2
  6. data/lib/bolognese/readers/bibtex_reader.rb +1 -1
  7. data/lib/bolognese/readers/citeproc_reader.rb +4 -4
  8. data/lib/bolognese/readers/codemeta_reader.rb +2 -2
  9. data/lib/bolognese/readers/crossref_reader.rb +2 -2
  10. data/lib/bolognese/readers/datacite_json_reader.rb +2 -2
  11. data/lib/bolognese/readers/datacite_reader.rb +2 -2
  12. data/lib/bolognese/readers/ris_reader.rb +1 -1
  13. data/lib/bolognese/readers/schema_org_reader.rb +4 -4
  14. data/lib/bolognese/version.rb +1 -1
  15. data/lib/bolognese/writers/bibtex_writer.rb +1 -1
  16. data/lib/bolognese/writers/codemeta_writer.rb +1 -1
  17. data/lib/bolognese/writers/crosscite_writer.rb +2 -2
  18. data/lib/bolognese/writers/datacite_json_writer.rb +2 -2
  19. data/lib/bolognese/writers/jats_writer.rb +5 -5
  20. data/lib/bolognese/writers/ris_writer.rb +1 -1
  21. data/lib/bolognese/writers/schema_org_writer.rb +2 -2
  22. data/spec/author_utils_spec.rb +3 -3
  23. data/spec/fixtures/crosscite.json +2 -2
  24. data/spec/fixtures/datacite.json +1 -1
  25. data/spec/fixtures/datacite_software.json +2 -2
  26. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_author_names_in_one_creatorsName.yml +96 -0
  27. data/spec/readers/bibtex_reader_spec.rb +3 -3
  28. data/spec/readers/citeproc_reader_spec.rb +2 -2
  29. data/spec/readers/codemeta_reader_spec.rb +5 -5
  30. data/spec/readers/crosscite_reader_spec.rb +2 -2
  31. data/spec/readers/crossref_reader_spec.rb +18 -18
  32. data/spec/readers/datacite_json_reader_spec.rb +2 -2
  33. data/spec/readers/datacite_reader_spec.rb +58 -58
  34. data/spec/readers/ris_reader_spec.rb +3 -3
  35. data/spec/readers/schema_org_reader_spec.rb +19 -19
  36. data/spec/writers/crosscite_writer_spec.rb +10 -10
  37. data/spec/writers/datacite_json_writer_spec.rb +8 -8
  38. data/spec/writers/datacite_writer_spec.rb +7 -7
  39. metadata +3 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 48c27349c703a0d83fbd39fc9411a07512615484e71791bba3e8f93297e92448
4
- data.tar.gz: 13953a4fbc93f1022b5813e2f38c89d45d6e4dcbf52d09f84b9c627447b1c9f3
3
+ metadata.gz: 36fbf686cc9fdd884cd4e07a0739b6672f3315639f7706f366636bc094435b65
4
+ data.tar.gz: c6ee32b53e8cbd58df2cc97bd6be7deba652e97a98ef88d3b32290d338e85d62
5
5
  SHA512:
6
- metadata.gz: 3f3d6cf1c26ebdf0c7b981dc0afbea58ee20c696678284f2d9b7eec055e1fdd18889a6c34821193e43e593c13644c0c557ccb138222f583fc28dfccc61a78afd
7
- data.tar.gz: 826b9656c41ca54526a3b6a38c78cad59be0435b270cfc9773047d7ad1fba9b167d04408fcf20593cd89685376cbad1190b1101f66701cf13ed6ac65e288d577
6
+ metadata.gz: a020a6edd1636688d3c4c598e78dfa7177e70c2561ee82f4ad40d092d7f876f290eeb42f49ac321c123f56e8ba9dcc01ef4231c16314f1d32ac15c4b283520a7
7
+ data.tar.gz: 78aed11ebbd4f89e65b81a3d6177858bd48c08328be3aef75979ba3245374c41848ee4da4e2a09329a9f6d539043e8077e7b6195f0646c923ceab9852188fed0
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bolognese (1.0.26)
4
+ bolognese (1.0.27)
5
5
  activesupport (>= 4.2.5, < 6)
6
6
  benchmark_methods (~> 0.7)
7
7
  bibtex-ruby (~> 4.1)
@@ -45,7 +45,7 @@ module Bolognese
45
45
 
46
46
  def insert_creators(xml)
47
47
  xml.creators do
48
- Array.wrap(creator).each do |au|
48
+ Array.wrap(creators).each do |au|
49
49
  xml.creator do
50
50
  insert_person(xml, au, "creator")
51
51
  end
@@ -54,10 +54,10 @@ module Bolognese
54
54
  end
55
55
 
56
56
  def insert_contributors(xml)
57
- return xml unless contributor.present?
57
+ return xml unless contributors.present?
58
58
 
59
59
  xml.contributors do
60
- Array.wrap(contributor).each do |con|
60
+ Array.wrap(contributors).each do |con|
61
61
  xml.contributor("contributorType" => con["contributorType"] || "Other") do
62
62
  insert_person(xml, con, "contributor")
63
63
  end
@@ -8,7 +8,7 @@ module Bolognese
8
8
 
9
9
  attr_accessor :string, :from, :sandbox, :meta, :regenerate, :issue
10
10
  attr_reader :doc, :page_start, :page_end
11
- attr_writer :id, :provider_id, :client_id, :doi, :identifier, :creator, :contributor, :titles, :publisher,
11
+ attr_writer :id, :provider_id, :client_id, :doi, :identifier, :creators, :contributors, :titles, :publisher,
12
12
  :rights_list, :dates, :publication_year, :volume, :url, :version_info,
13
13
  :subjects, :contributor, :descriptions, :alternate_identifiers, :language, :sizes,
14
14
  :formats, :schema_version, :meta, :periodical, :agency,
@@ -48,8 +48,8 @@ module Bolognese
48
48
  "provider_id" => options[:provider_id],
49
49
  "client_id" => options[:client_id],
50
50
  "content_url" => options[:content_url],
51
- "creator" => options[:creator],
52
- "contributor" => options[:creator],
51
+ "creators" => options[:creators],
52
+ "contributors" => options[:creators],
53
53
  "titles" => options[:titles],
54
54
  "publisher" => options[:publisher],
55
55
  "publication_year" => options[:publication_year] }
@@ -79,8 +79,8 @@ module Bolognese
79
79
 
80
80
  # set attributes directly
81
81
  read_options = options.slice(
82
- :creator,
83
- :contributor,
82
+ :creators,
83
+ :contributors,
84
84
  :titles,
85
85
  :types,
86
86
  :alternate_identifiers,
@@ -226,12 +226,12 @@ module Bolognese
226
226
  @titles ||= meta.fetch("titles", nil)
227
227
  end
228
228
 
229
- def creator
230
- @creator ||= meta.fetch("creator", nil)
229
+ def creators
230
+ @creators ||= meta.fetch("creators", nil)
231
231
  end
232
232
 
233
- def contributor
234
- @contributor ||= meta.fetch("contributor", nil)
233
+ def contributors
234
+ @contributors ||= meta.fetch("contributors", nil)
235
235
  end
236
236
  end
237
237
  end
@@ -129,8 +129,8 @@ module Bolognese
129
129
  "id" => identifier,
130
130
  "categories" => Array.wrap(subjects).map { |k| parse_attributes(k, content: "subject", first: true) }.presence,
131
131
  "language" => language,
132
- "author" => to_citeproc(creator),
133
- "contributor" => to_citeproc(contributor),
132
+ "author" => to_citeproc(creators),
133
+ "contributor" => to_citeproc(contributors),
134
134
  "issued" => get_date(dates, "Issued") ? get_date_parts(get_date(dates, "Issued")) : nil,
135
135
  "submitted" => Array.wrap(dates).find { |d| d["dateType"] == "Submitted" }.to_h.fetch("__content__", nil),
136
136
  "abstract" => parse_attributes(descriptions, content: "description", first: true),
@@ -82,7 +82,7 @@ module Bolognese
82
82
  "doi" => doi,
83
83
  "url" => meta.try(:url).to_s.presence,
84
84
  "titles" => meta.try(:title).present? ? [{ "title" => meta.try(:title).to_s }] : [],
85
- "creator" => author,
85
+ "creators" => author,
86
86
  "periodical" => periodical,
87
87
  "publisher" => meta.try(:publisher).to_s.presence,
88
88
  "related_identifiers" => related_identifiers,
@@ -46,8 +46,8 @@ module Bolognese
46
46
  "ris" => CP_TO_RIS_TRANSLATIONS[schema_org] || "GEN"
47
47
  }.compact
48
48
  doi = normalize_doi(meta.fetch("DOI", nil))
49
- creator = get_authors(from_citeproc(Array.wrap(meta.fetch("author", nil))))
50
- contributor = get_authors(from_citeproc(Array.wrap(meta.fetch("editor", nil))))
49
+ creators = get_authors(from_citeproc(Array.wrap(meta.fetch("author", nil))))
50
+ contributors = get_authors(from_citeproc(Array.wrap(meta.fetch("editor", nil))))
51
51
  dates = if meta.fetch("issued", nil).present?
52
52
  [{ "date" => get_date_from_date_parts(meta.fetch("issued", nil)),
53
53
  "dateType" => "Issued" }]
@@ -87,8 +87,8 @@ module Bolognese
87
87
  "doi" => doi_from_url(doi),
88
88
  "url" => normalize_id(meta.fetch("URL", nil)),
89
89
  "titles" => [{ "title" => meta.fetch("title", nil) }],
90
- "creator" => creator,
91
- "contributor" => contributor,
90
+ "creators" => creators,
91
+ "contributors" => contributors,
92
92
  "periodical" => periodical,
93
93
  "publisher" => meta.fetch("publisher", nil),
94
94
  "related_identifiers" => related_identifiers,
@@ -51,8 +51,8 @@ module Bolognese
51
51
  "doi" => validate_doi(id),
52
52
  "url" => normalize_id(meta.fetch("codeRepository", nil)),
53
53
  "titles" => [{ "title" => meta.fetch("title", nil) }],
54
- "creator" => author,
55
- "contributor" => contributor,
54
+ "creators" => author,
55
+ "contributors" => contributor,
56
56
  "publisher" => publisher,
57
57
  #{}"is_part_of" => is_part_of,
58
58
  "dates" => dates,
@@ -110,8 +110,8 @@ module Bolognese
110
110
  "url" => bibliographic_metadata.dig("doi_data", "resource"),
111
111
  "titles" => [{ "title" => parse_attributes(bibliographic_metadata.dig("titles", "title")) }],
112
112
  "alternate_identifiers" => crossref_alternate_identifiers(bibliographic_metadata),
113
- "creator" => crossref_people(bibliographic_metadata, "author"),
114
- "contributor" => crossref_people(bibliographic_metadata, "editor"),
113
+ "creators" => crossref_people(bibliographic_metadata, "author"),
114
+ "contributors" => crossref_people(bibliographic_metadata, "editor"),
115
115
  "funding_references" => crossref_funding_reference(program_metadata),
116
116
  "publisher" => publisher,
117
117
  "periodical" => periodical,
@@ -34,8 +34,8 @@ module Bolognese
34
34
  "url" => normalize_id(meta.fetch("url", nil)),
35
35
  "titles" => meta.fetch("titles", nil),
36
36
  "alternate_identifiers" => Array.wrap(meta.fetch("alternateIdentifiers", nil)),
37
- "creator" => meta.fetch("creator", nil),
38
- "contributor" => meta.fetch("contributor", nil),
37
+ "creators" => meta.fetch("creators", nil),
38
+ "contributors" => meta.fetch("contributors", nil),
39
39
  "publisher" => meta.fetch("publisher", nil),
40
40
  "periodical" => meta.fetch("periodical", nil),
41
41
  "agency" => "DataCite",
@@ -194,8 +194,8 @@ module Bolognese
194
194
  "alternate_identifiers" => alternate_identifiers,
195
195
  "url" => options.fetch(:url, nil).to_s.strip.presence,
196
196
  "titles" => titles,
197
- "creator" => get_authors(Array.wrap(meta.dig("creators", "creator"))),
198
- "contributor" => get_authors(Array.wrap(meta.dig("contributors", "contributor"))),
197
+ "creators" => get_authors(Array.wrap(meta.dig("creators", "creator"))),
198
+ "contributors" => get_authors(Array.wrap(meta.dig("contributors", "contributor"))),
199
199
  "periodical" => periodical,
200
200
  "publisher" => parse_attributes(meta.fetch("publisher", nil), first: true).to_s.strip.presence,
201
201
  "agency" => "DataCite",
@@ -81,7 +81,7 @@ module Bolognese
81
81
  "doi" => doi,
82
82
  "url" => meta.fetch("UR", nil),
83
83
  "titles" => meta.fetch("T1", nil).present? ? [{ "title" => meta.fetch("T1", nil) }] : nil,
84
- "creator" => get_authors(author),
84
+ "creators" => get_authors(author),
85
85
  "publisher" => meta.fetch("PB", "(:unav)"),
86
86
  "periodical" => periodical,
87
87
  "related_identifiers" => related_identifiers,
@@ -63,8 +63,8 @@ module Bolognese
63
63
  "ris" => Bolognese::Utils::SO_TO_RIS_TRANSLATIONS[resource_type_general.to_s.dasherize] || "GEN"
64
64
  }.compact
65
65
  authors = meta.fetch("author", nil) || meta.fetch("creator", nil)
66
- author = get_authors(from_schema_org(Array.wrap(authors)))
67
- contributor = get_authors(from_schema_org(Array.wrap(meta.fetch("editor", nil))))
66
+ creators = get_authors(from_schema_org(Array.wrap(authors)))
67
+ contributors = get_authors(from_schema_org(Array.wrap(meta.fetch("editor", nil))))
68
68
  publisher = parse_attributes(meta.fetch("publisher", nil), content: "name", first: true)
69
69
 
70
70
  ct = (schema_org == "Dataset") ? "includedInDataCatalog" : "Periodical"
@@ -145,8 +145,8 @@ module Bolognese
145
145
  "sizes" => Array.wrap(meta.fetch("contenSize", nil)).presence,
146
146
  "formats" => Array.wrap(meta.fetch("encodingFormat", nil) || meta.fetch("fileFormat", nil)),
147
147
  "titles" => meta.fetch("name", nil).present? ? [{ "title" => meta.fetch("name", nil) }] : nil,
148
- "creator" => author,
149
- "contributor" => contributor,
148
+ "creators" => creators,
149
+ "contributors" => contributors,
150
150
  "publisher" => publisher,
151
151
  "agency" => parse_attributes(meta.fetch("provider", nil), content: "name", first: true),
152
152
  "periodical" => periodical,
@@ -1,3 +1,3 @@
1
1
  module Bolognese
2
- VERSION = "1.0.26"
2
+ VERSION = "1.0.27"
3
3
  end
@@ -11,7 +11,7 @@ module Bolognese
11
11
  bibtex_key: identifier,
12
12
  doi: doi,
13
13
  url: url,
14
- author: authors_as_string(creator),
14
+ author: authors_as_string(creators),
15
15
  keywords: subjects.present? ? Array.wrap(subjects).map { |k| parse_attributes(k, content: "subject", first: true) }.join(", ") : nil,
16
16
  language: language,
17
17
  title: parse_attributes(titles, content: "title", first: true),
@@ -13,7 +13,7 @@ module Bolognese
13
13
  "identifier" => identifier,
14
14
  "codeRepository" => url,
15
15
  "title" => parse_attributes(titles, content: "title", first: true),
16
- "agents" => creator,
16
+ "agents" => creators,
17
17
  "description" => parse_attributes(descriptions, content: "description", first: true),
18
18
  "version" => version_info,
19
19
  "tags" => subjects.present? ? Array.wrap(subjects).map { |k| parse_attributes(k, content: "subject", first: true) } : nil,
@@ -9,12 +9,12 @@ module Bolognese
9
9
  "doi" => doi,
10
10
  "url" => url,
11
11
  "types" => types,
12
- "creator" => creator,
12
+ "creators" => creators,
13
13
  "titles" => titles,
14
14
  "publisher" => publisher,
15
15
  "periodical" => periodical,
16
16
  "subjects" => subjects,
17
- "contributor" => contributor,
17
+ "contributors" => contributors,
18
18
  "dates" => dates,
19
19
  "publication_year" => publication_year,
20
20
  "language" => language,
@@ -8,13 +8,13 @@ module Bolognese
8
8
  "id" => identifier,
9
9
  "doi" => doi,
10
10
  "url" => url,
11
- "creator" => creator,
11
+ "creators" => creators,
12
12
  "titles" => titles,
13
13
  "publisher" => publisher,
14
14
  "periodical" => periodical,
15
15
  "types" => to_datacite_json(types, first: true),
16
16
  "subjects" => to_datacite_json(subjects),
17
- "contributor" => contributor,
17
+ "contributors" => contributors,
18
18
  "dates" => to_datacite_json(dates),
19
19
  "publicationYear" => publication_year,
20
20
  "language" => language,
@@ -39,9 +39,9 @@ module Bolognese
39
39
  end
40
40
 
41
41
  def insert_authors(xml)
42
- if creator.present?
42
+ if creators.present?
43
43
  xml.send("person-group", "person-group-type" => "author") do
44
- Array.wrap(creator).each do |au|
44
+ Array.wrap(creators).each do |au|
45
45
  xml.name do
46
46
  insert_contributor(xml, au)
47
47
  end
@@ -51,11 +51,11 @@ module Bolognese
51
51
  end
52
52
 
53
53
  def insert_editors(xml)
54
- if contributor.present?
54
+ if contributors.present?
55
55
  xml.send("person-group", "person-group-type" => "editor") do
56
- Array.wrap(contributor).each do |creator|
56
+ Array.wrap(contributors).each do |con|
57
57
  xml.name do
58
- insert_contributor(xml, creator)
58
+ insert_contributor(xml, con)
59
59
  end
60
60
  end
61
61
  end
@@ -8,7 +8,7 @@ module Bolognese
8
8
  "TY" => types["ris"],
9
9
  "T1" => parse_attributes(titles, content: "title", first: true),
10
10
  "T2" => periodical && periodical["title"],
11
- "AU" => to_ris(creator),
11
+ "AU" => to_ris(creators),
12
12
  "DO" => doi,
13
13
  "UR" => url,
14
14
  "AB" => parse_attributes(descriptions, content: "description", first: true),
@@ -11,8 +11,8 @@ module Bolognese
11
11
  "url" => url,
12
12
  "additionalType" => types["resourceType"],
13
13
  "name" => parse_attributes(titles, content: "title", first: true),
14
- "author" => to_schema_org(creator),
15
- "editor" => to_schema_org(contributor),
14
+ "author" => to_schema_org(creators),
15
+ "editor" => to_schema_org(contributors),
16
16
  "description" => parse_attributes(descriptions, content: "description", first: true),
17
17
  "license" => Array.wrap(rights_list).map { |l| l["rightsUri"] }.compact.unwrap,
18
18
  "version" => version_info,
@@ -146,7 +146,7 @@ describe Bolognese::Metadata, vcr: true do
146
146
  it "only familyName and givenName" do
147
147
  input = "https://doi.pangaea.de/10.1594/PANGAEA.836178"
148
148
  subject = Bolognese::Metadata.new(input: input, from: "schema_org")
149
- expect(subject.creator.first).to eq("type"=>"Person", "name"=>"Johansson, Emma", "givenName"=>"Emma", "familyName"=>"Johansson")
149
+ expect(subject.creators.first).to eq("type"=>"Person", "name"=>"Johansson, Emma", "givenName"=>"Emma", "familyName"=>"Johansson")
150
150
  end
151
151
  end
152
152
 
@@ -196,12 +196,12 @@ describe Bolognese::Metadata, vcr: true do
196
196
  "name"=>"University of California, Santa Barbara"}] }
197
197
 
198
198
  it "author" do
199
- response = subject.authors_as_string(subject.creator)
199
+ response = subject.authors_as_string(subject.creators)
200
200
  expect(response).to eq("Fenner, Martin and Crosas, Mercè and Grethe, Jeffrey and Kennedy, David and Hermjakob, Henning and Rocca-Serra, Philippe and Durand, Gustavo and Berjon, Robin and Karcher, Sebastian and Martone, Maryann and Clark, Timothy")
201
201
  end
202
202
 
203
203
  it "single author" do
204
- response = subject.authors_as_string(subject.creator.first)
204
+ response = subject.authors_as_string(subject.creators.first)
205
205
  expect(response).to eq("Fenner, Martin")
206
206
  end
207
207
 
@@ -9,7 +9,7 @@
9
9
  "bibtex": "misc",
10
10
  "ris": "COMP"
11
11
  },
12
- "creator": [{
12
+ "creators": [{
13
13
  "type": "Person",
14
14
  "name": "Kristian Garza",
15
15
  "givenName": "Kristian",
@@ -52,6 +52,6 @@
52
52
  "description": "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:\n\n- Data structures for the experimental data.<br>\n- Visualisation functions<br>\n- Analysis functions\n\n## Installation\n\n- R<br>\n- python<br>\n- ipython 4\n\nClone and use.\n\n## Usage\n\n<br>\n```python<br>\nsource('parallel_plot.r')<br>\nwith(z, parallelset(trt,response, freq=count, alpha=0.2))<br>\n```\n\n<br>\n## Contributing\n\n1. Fork it!<br>\n2. Create your feature branch: `git checkout -b my-new-feature`<br>\n3. Commit your changes: `git commit -am 'Add some feature'`<br>\n4. Push to the branch: `git push origin my-new-feature`<br>\n5. Submit a pull request :D\n\n<br>\n## License\n\nThis work supports my PhD Thesis at University of Manchester."
53
53
  }],
54
54
  "schema_version": "http://datacite.org/schema/kernel-4",
55
- "provider": "DataCite",
55
+ "agency": "DataCite",
56
56
  "state": "findable"
57
57
  }
@@ -9,7 +9,7 @@
9
9
  "ris": "RPRT"
10
10
  },
11
11
  "doi": "10.5438/4K3M-NYVG",
12
- "creator": [{
12
+ "creators": [{
13
13
  "type": "Person",
14
14
  "id": "http://orcid.org/0000-0003-1419-2405",
15
15
  "name": "Fenner, Martin",
@@ -5,7 +5,7 @@
5
5
  "resource-type": "Software"
6
6
  },
7
7
  "doi": "10.5063/F1M61H5X",
8
- "creator": [{
8
+ "creators": [{
9
9
  "type": "Person",
10
10
  "name": "Matthew B. Jones",
11
11
  "givenName": "Matthew B.",
@@ -17,5 +17,5 @@
17
17
  "publisher": "KNB Data Repository",
18
18
  "publication-year": "2016",
19
19
  "schema-version": "http://datacite.org/schema/kernel-3",
20
- "provider": "DataCite"
20
+ "agency": "DataCite"
21
21
  }
@@ -0,0 +1,96 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.datacite.org/prefixes/10.7910
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Mozilla/5.0 (compatible; Maremma/4.1.1; +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
+ - Fri, 30 Nov 2018 18:46:09 GMT
21
+ Content-Type:
22
+ - application/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
+ X-Request-Id:
34
+ - 4e28dec4-62fc-4fed-b1c0-e19d2813d808
35
+ Etag:
36
+ - W/"c45a6528c0af405256babda038ef6d77"
37
+ X-Runtime:
38
+ - '0.022455'
39
+ X-Powered-By:
40
+ - Phusion Passenger 5.3.7
41
+ Server:
42
+ - nginx/1.14.0 + Phusion Passenger 5.3.7
43
+ body:
44
+ encoding: ASCII-8BIT
45
+ string: '{"data":{"id":"10.7910","type":"prefixes","attributes":{"registration-agency":"DataCite","created":"2012-10-02T06:27:04.000Z","updated":null},"relationships":{"clients":{"data":[{"id":"gdcc.harvard-dv","type":"clients"}]},"providers":{"data":[{"id":"gdcc","type":"providers"}]}}},"included":[{"id":"gdcc.harvard-dv","type":"clients","attributes":{"name":"Harvard
46
+ IQSS Dataverse","symbol":"GDCC.HARVARD-DV","year":2018,"contact-name":"Danny
47
+ Brooke","contact-email":"dannybrooke@g.harvard.edu","domains":"*","url":null,"created":"2018-05-31T22:08:15.000Z","updated":"2018-09-22T10:00:46.000Z","is-active":true,"has-password":true},"relationships":{"provider":{"data":{"id":"gdcc","type":"providers"}},"repository":{"data":{"id":"r3d100010051","type":"repositories"}},"prefixes":{"data":[{"id":"10.5072","type":"prefixes"},{"id":"10.7910","type":"prefixes"}]}}},{"id":"gdcc","type":"providers","attributes":{"name":"The
48
+ Global Dataverse Community Consortium (GDCC)","symbol":"GDCC","website":"https://dataverse.org/global-dataverse-community-consortium","contact-name":"Jonathan
49
+ Crabtree","contact-email":"jonathan_crabtree@unc.edu","phone":"919-428-6112","description":"The
50
+ vision is that the Global Dataverse Community Consortium (GDCC) will provide
51
+ international organization to existing community efforts and will provide
52
+ a collaborative venue for institutions to leverage economies of scale in support
53
+ of Dataverse repositories around the world. It is our intention that the consortium
54
+ be community driven and ultimately the goals to be defined by the participants.","region":"AMER","country":"US","logo-url":null,"organization-type":null,"focus-area":null,"is-active":true,"has-password":true,"joined":null,"created":"2018-05-09T15:31:15.000Z","updated":"2018-08-26T02:25:54.000Z"},"relationships":{"prefixes":{"data":[{"id":"10.5064","type":"prefixes"},{"id":"10.5072","type":"prefixes"},{"id":"10.7910","type":"prefixes"},{"id":"10.15785","type":"prefixes"},{"id":"10.21979","type":"prefixes"},{"id":"10.21984","type":"prefixes"},{"id":"10.25340","type":"prefixes"},{"id":"10.25341","type":"prefixes"},{"id":"10.26074","type":"prefixes"},{"id":"10.25825","type":"prefixes"},{"id":"10.25824","type":"prefixes"},{"id":"10.25821","type":"prefixes"},{"id":"10.25823","type":"prefixes"},{"id":"10.25822","type":"prefixes"}]}}}]}'
55
+ http_version:
56
+ recorded_at: Fri, 30 Nov 2018 18:46:09 GMT
57
+ - request:
58
+ method: get
59
+ uri: https://search.datacite.org/api?fl=doi,url,xml,state,allocator_symbol,datacentre_symbol,media,minted,updated&q=doi:10.7910/dvn/eqtqyo&wt=json
60
+ body:
61
+ encoding: US-ASCII
62
+ string: ''
63
+ headers:
64
+ User-Agent:
65
+ - Mozilla/5.0 (compatible; Maremma/4.1.1; +https://github.com/datacite/maremma)
66
+ Accept:
67
+ - text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
68
+ response:
69
+ status:
70
+ code: 200
71
+ message: OK
72
+ headers:
73
+ Date:
74
+ - Fri, 30 Nov 2018 18:46:09 GMT
75
+ Content-Type:
76
+ - application/json;charset=UTF-8
77
+ Connection:
78
+ - keep-alive
79
+ Server:
80
+ - nginx/1.10.3 (Ubuntu)
81
+ Access-Control-Allow-Origin:
82
+ - "*"
83
+ Access-Control-Allow-Methods:
84
+ - GET, POST, PUT, DELETE, OPTIONS
85
+ Access-Control-Allow-Headers:
86
+ - DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,Authorization
87
+ Access-Control-Expose-Headers:
88
+ - DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range,Authorization
89
+ body:
90
+ encoding: ASCII-8BIT
91
+ string: '{"responseHeader":{"status":0,"QTime":1},"response":{"numFound":1,"start":0,"docs":[{"datacentre_symbol":"GDCC.HARVARD-DV","url":"https://dataverse.harvard.edu/citation?persistentId=doi:10.7910/DVN/EQTQYO","xml":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJlc291cmNlIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtNCIKICB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIgogIHhzaTpzY2hlbWFMb2NhdGlvbj0iaHR0cDovL2RhdGFjaXRlLm9yZy9zY2hlbWEva2VybmVsLTQKICAgIGh0dHA6Ly9zY2hlbWEuZGF0YWNpdGUub3JnL21ldGEva2VybmVsLTQvbWV0YWRhdGEueHNkIj4KICA8aWRlbnRpZmllciBpZGVudGlmaWVyVHlwZT0iRE9JIj4xMC43OTEwL0RWTi9FUVRRWU88L2lkZW50aWZpZXI+CiAgPGNyZWF0b3JzPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZT5Fbm9zLCBSeWFuIChIYXJ2YXJkIFVuaXZlcnNpdHkpOyBGb3dsZXIsIEFudGhvbnkgKFVuaXZlcnNpdHkgb2YgQ2hpY2Fnbyk7IFZhdnJlY2ssIEx5bm4gKFVDTEEpPC9jcmVhdG9yTmFtZT4KICAgIDwvY3JlYXRvcj4KICA8L2NyZWF0b3JzPgogIDx0aXRsZXM+CiAgICA8dGl0bGU+UmVwbGljYXRpb24gRGF0YSBmb3I6IEluY3JlYXNpbmcgSW5lcXVhbGl0eTogVGhlIEVmZmVjdCBvZiBHT1RWIE1vYmlsaXphdGlvbiBvbiB0aGUgQ29tcG9zaXRpb24gb2YgdGhlIEVsZWN0b3JhdGU8L3RpdGxlPgogIDwvdGl0bGVzPgogIDxwdWJsaXNoZXI+SGFydmFyZCBEYXRhdmVyc2U8L3B1Ymxpc2hlcj4KICA8cHVibGljYXRpb25ZZWFyPjIwMTc8L3B1YmxpY2F0aW9uWWVhcj4KICA8cmVzb3VyY2VUeXBlIHJlc291cmNlVHlwZUdlbmVyYWw9IkRhdGFzZXQiLz4KPC9yZXNvdXJjZT4K","allocator_symbol":"GDCC","minted":"2017-04-12T19:46:37Z","state":"findable","updated":"2018-10-19T11:25:44Z","doi":"10.7910/DVN/EQTQYO"}]}}
92
+
93
+ '
94
+ http_version:
95
+ recorded_at: Fri, 30 Nov 2018 18:46:09 GMT
96
+ recorded_with: VCR 3.0.3