bolognese 1.0.26 → 1.0.27

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.
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