bolognese 2.0.0 → 2.3.5

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 (69) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ci.yml +1 -1
  3. data/.github/workflows/release.yml +2 -2
  4. data/Gemfile.lock +13 -12
  5. data/bolognese.gemspec +4 -3
  6. data/lib/bolognese/author_utils.rb +5 -5
  7. data/lib/bolognese/datacite_utils.rb +2 -2
  8. data/lib/bolognese/metadata_utils.rb +2 -1
  9. data/lib/bolognese/readers/citeproc_reader.rb +6 -0
  10. data/lib/bolognese/readers/crossref_reader.rb +37 -4
  11. data/lib/bolognese/readers/datacite_reader.rb +1 -1
  12. data/lib/bolognese/readers/schema_org_reader.rb +26 -4
  13. data/lib/bolognese/utils.rb +14 -9
  14. data/lib/bolognese/version.rb +1 -1
  15. data/lib/bolognese/writers/datacite_json_writer.rb +1 -4
  16. data/lib/bolognese/writers/jats_writer.rb +4 -1
  17. data/lib/bolognese/writers/schema_org_writer.rb +5 -1
  18. data/resources/kernel-4/include/datacite-contributorType-v4.xsd +3 -1
  19. data/resources/kernel-4/include/datacite-dateType-v4.xsd +3 -1
  20. data/resources/kernel-4/include/datacite-relatedIdentifierType-v4.xsd +5 -2
  21. data/resources/kernel-4/include/datacite-relationType-v4.xsd +7 -3
  22. data/resources/kernel-4/include/datacite-resourceType-v4.xsd +5 -1
  23. data/resources/kernel-4/include/datacite-titleType-v4.xsd +1 -1
  24. data/resources/kernel-4/metadata.xsd +2 -1
  25. data/resources/kernel-4.6/include/datacite-contributorType-v4.xsd +37 -0
  26. data/resources/kernel-4.6/include/datacite-dateType-v4.xsd +27 -0
  27. data/resources/kernel-4.6/include/datacite-descriptionType-v4.xsd +19 -0
  28. data/resources/kernel-4.6/include/datacite-funderIdentifierType-v4.xsd +16 -0
  29. data/resources/kernel-4.6/include/datacite-nameType-v4.xsd +10 -0
  30. data/resources/kernel-4.6/include/datacite-numberType-v4.xsd +12 -0
  31. data/resources/kernel-4.6/include/datacite-relatedIdentifierType-v4.xsd +37 -0
  32. data/resources/kernel-4.6/include/datacite-relationType-v4.xsd +57 -0
  33. data/resources/kernel-4.6/include/datacite-resourceType-v4.xsd +49 -0
  34. data/resources/kernel-4.6/include/datacite-titleType-v4.xsd +14 -0
  35. data/resources/kernel-4.6/include/xml.xsd +286 -0
  36. data/resources/kernel-4.6/metadata.xsd +712 -0
  37. data/spec/author_utils_spec.rb +13 -7
  38. data/spec/datacite_utils_spec.rb +151 -1
  39. data/spec/fixtures/citeproc.json +6 -2
  40. data/spec/fixtures/crossref_schema_4.6_values.xml +183 -0
  41. data/spec/fixtures/datacite-example-ROR-nameIdentifiers.xml +8 -0
  42. data/spec/fixtures/datacite-example-full-v4.6.xml +114 -0
  43. data/spec/fixtures/datacite-xml-lang.xml +1 -1
  44. data/spec/fixtures/datacite_blank_name_identifier.xml +22 -0
  45. data/spec/fixtures/datacite_blank_publisher.xml +18 -0
  46. data/spec/fixtures/datacite_journal_article.xml +64 -0
  47. data/spec/fixtures/schema_org.json +1 -0
  48. data/spec/fixtures/schema_org_4.6_attributes.json +108 -0
  49. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/another_book.yml +5 -45
  50. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_contributors_Translator/supports_Translator_contributorType.yml +71 -0
  51. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_dates_with_Coverage/inserts_date_with_dateType_Coverage.yml +71 -0
  52. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers_CSTR/supports_CSTR_relatedIdentifierType.yml +71 -0
  53. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers_HasTranslation/supports_HasTranslation_relationType.yml +71 -0
  54. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers_RRID/supports_RRID_relatedIdentifierType.yml +71 -0
  55. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_resource_type_with_Award/supports_Award_as_resourceTypeGeneral.yml +71 -0
  56. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_resource_type_with_Project/supports_Project_as_resourceTypeGeneral.yml +71 -0
  57. data/spec/readers/citeproc_reader_spec.rb +1 -0
  58. data/spec/readers/codemeta_reader_spec.rb +1 -1
  59. data/spec/readers/crossref_reader_spec.rb +31 -0
  60. data/spec/readers/datacite_reader_spec.rb +98 -7
  61. data/spec/readers/schema_org_reader_spec.rb +29 -2
  62. data/spec/writers/citation_writer_spec.rb +10 -1
  63. data/spec/writers/citeproc_writer_spec.rb +9 -0
  64. data/spec/writers/crosscite_writer_spec.rb +2 -2
  65. data/spec/writers/datacite_json_writer_spec.rb +16 -32
  66. data/spec/writers/datacite_writer_spec.rb +73 -2
  67. data/spec/writers/jats_writer_spec.rb +8 -1
  68. data/spec/writers/schema_org_writer_spec.rb +51 -2
  69. metadata +58 -25
@@ -18,9 +18,7 @@ describe Bolognese::Metadata, vcr: true do
18
18
  "rightsIdentifierScheme"=>"SPDX",
19
19
  "rightsUri"=>"https://creativecommons.org/licenses/by/3.0/legalcode",
20
20
  "schemeUri"=>"https://spdx.org/licenses/"}])
21
- # REVERT the publisher line to the commented line for the schema 4.5 release
22
- # expect(datacite.fetch("publisher")).to eq({"name"=>"eLife Sciences Publications, Ltd"})
23
- expect(datacite.fetch("publisher")).to eq("eLife Sciences Publications, Ltd")
21
+ expect(datacite.fetch("publisher")).to eq({"name"=>"eLife Sciences Publications, Ltd"})
24
22
  end
25
23
 
26
24
  it "with ORCID ID" do
@@ -31,9 +29,7 @@ describe Bolognese::Metadata, vcr: true do
31
29
  expect(datacite.fetch("types")).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
32
30
  expect(datacite.fetch("creators").length).to eq(7)
33
31
  expect(datacite.fetch("creators").first).to eq("nameType"=>"Personal", "name"=>"Thanassi, Wendy", "givenName"=>"Wendy", "familyName"=>"Thanassi", "affiliation" => [{"name"=>"Department of Medicine, Veterans Affairs Palo Alto Health Care System, 3801 Miranda Avenue MC-, Palo Alto, CA 94304-1207, USA"}, {"name"=>"Occupational Health Strategic Health Care Group, Office of Public Health, Veterans Health Administration, Washington, DC 20006, USA"}, {"name"=>"Division of Emergency Medicine, Stanford University School of Medicine, Stanford, CA 94304, USA"}, {"name"=>"War Related Illness and Injury Study Center (WRIISC) and Mental Illness Research Education and Clinical Center (MIRECC), Department of Veterans Affairs, Palo Alto, CA 94304, USA"}])
34
- # REVERT the publisher line to the commented line for the schema 4.5 release
35
- # expect(datacite.fetch("publisher")).to eq({"name"=>"Hindawi Limited"})
36
- expect(datacite.fetch("publisher")).to eq("Hindawi Limited")
32
+ expect(datacite.fetch("publisher")).to eq({"name"=>"Hindawi Limited"})
37
33
  end
38
34
 
39
35
  it "Crossref DOI" do
@@ -45,9 +41,7 @@ describe Bolognese::Metadata, vcr: true do
45
41
  expect(datacite.dig("descriptions", 0, "description")).to start_with("Among various advantages, their small size makes model organisms preferred subjects of investigation.")
46
42
  expect(datacite.fetch("creators").length).to eq(5)
47
43
  expect(datacite.fetch("creators").first).to eq("nameType"=>"Personal", "name"=>"Sankar, Martial", "givenName"=>"Martial", "familyName"=>"Sankar")
48
- # REVERT the publisher line to the commented line for the schema 4.5 release
49
- # expect(datacite.fetch("publisher")).to eq({"name"=>"{eLife} Sciences Organisation, Ltd."})
50
- expect(datacite.fetch("publisher")).to eq("{eLife} Sciences Organisation, Ltd.")
44
+ expect(datacite.fetch("publisher")).to eq({"name"=>"{eLife} Sciences Organisation, Ltd."})
51
45
  end
52
46
 
53
47
  it "BlogPosting Citeproc JSON" do
@@ -58,9 +52,7 @@ describe Bolognese::Metadata, vcr: true do
58
52
  expect(datacite.fetch("titles")).to eq([{"title"=>"Eating your own Dog Food"}])
59
53
  expect(datacite.dig("descriptions", 0, "description")).to start_with("Eating your own dog food")
60
54
  expect(datacite.fetch("creators")).to eq([{"familyName"=>"Fenner", "givenName"=>"Martin", "name"=>"Fenner, Martin"}])
61
- # REVERT the publisher line to the commented line for the schema 4.5 release
62
- # expect(datacite.fetch("publisher")).to eq({"name"=>"DataCite"})
63
- expect(datacite.fetch("publisher")).to eq("DataCite")
55
+ expect(datacite.fetch("publisher")).to eq({"name"=>"DataCite"})
64
56
  end
65
57
 
66
58
  it "rdataone" do
@@ -72,9 +64,7 @@ describe Bolognese::Metadata, vcr: true do
72
64
  expect(datacite.fetch("creators").first).to eq("affiliation"=>[{"name"=>"NCEAS"}], "nameType"=>"Personal", "name" => "Jones, Matt",
73
65
  "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0003-0077-4738", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}], "givenName"=>"Matt", "familyName"=>"Jones")
74
66
  expect(datacite.fetch("version")).to eq("2.0.0")
75
- # REVERT the publisher line to the commented line for the schema 4.5 release
76
- # expect(datacite.fetch("publisher")).to eq({"name"=>"https://cran.r-project.org"})
77
- expect(datacite.fetch("publisher")).to eq("https://cran.r-project.org")
67
+ expect(datacite.fetch("publisher")).to eq({"name"=>"https://cran.r-project.org"})
78
68
  end
79
69
 
80
70
  it "maremma" do
@@ -90,9 +80,7 @@ describe Bolognese::Metadata, vcr: true do
90
80
  [{"nameIdentifier"=>"https://orcid.org/0000-0003-0077-4738",
91
81
  "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}],
92
82
  "nameType"=>"Personal"}])
93
- # REVERT the publisher line to the commented line for the schema 4.5 release
94
- # expect(datacite.fetch("publisher")).to eq({"name"=>"DataCite"})
95
- expect(datacite.fetch("publisher")).to eq("DataCite")
83
+ expect(datacite.fetch("publisher")).to eq({"name"=>"DataCite"})
96
84
  end
97
85
 
98
86
  it "with data citation schema.org" do
@@ -103,26 +91,22 @@ describe Bolognese::Metadata, vcr: true do
103
91
  expect(datacite.fetch("titles")).to eq([{"title"=>"Eating your own Dog Food"}])
104
92
  expect(datacite.fetch("relatedIdentifiers").count).to eq(3)
105
93
  expect(datacite.fetch("relatedIdentifiers").first).to eq("relatedIdentifier"=>"10.5438/0000-00ss", "relatedIdentifierType"=>"DOI", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Text")
106
- # REVERT the publisher line to the commented line for the schema 4.5 release
107
- # expect(datacite.fetch("publisher")).to eq({"name"=>"DataCite"})
108
- expect(datacite.fetch("publisher")).to eq("DataCite")
94
+ expect(datacite.fetch("publisher")).to eq({"name"=>"DataCite"})
109
95
  end
110
96
 
111
97
  it "DataCite DOI with Schema 4.5 publisher attributes" do
112
98
  input = fixture_path + "datacite-example-full-v4.5.xml"
113
99
  subject = Bolognese::Metadata.new(input: input, from: "datacite")
114
100
  datacite = JSON.parse(subject.datacite_json)
115
- # REVERT the publisher line to the commented lines for the schema 4.5 release
116
- # expect(datacite.fetch("publisher")).to eq(
117
- # {
118
- # "name" => "Example Publisher",
119
- # "publisherIdentifier" => "https://ror.org/04z8jg394",
120
- # "publisherIdentifierScheme" => "ROR",
121
- # "schemeUri" => "https://ror.org/",
122
- # "lang" => "en",
123
- # },
124
- # )
125
- expect(datacite.fetch("publisher")).to eq("Example Publisher")
101
+ expect(datacite.fetch("publisher")).to eq(
102
+ {
103
+ "name" => "Example Publisher",
104
+ "publisherIdentifier" => "https://ror.org/04z8jg394",
105
+ "publisherIdentifierScheme" => "ROR",
106
+ "schemeUri" => "https://ror.org/",
107
+ "lang" => "en",
108
+ },
109
+ )
126
110
  end
127
111
  end
128
112
  end
@@ -91,7 +91,7 @@ describe Bolognese::Metadata, vcr: true do
91
91
  {"nameIdentifierScheme"=>"ORCID",
92
92
  "schemeURI"=>"https://orcid.org",
93
93
  "__content__"=>"https://orcid.org/0000-0002-2192-403X"}},
94
- {"creatorName"=>{"__content__"=>"University Of California, Santa Barbara", "nameType"=>"Organizational"}}])
94
+ {"creatorName"=>{"__content__"=>"University of California, Santa Barbara", "nameType"=>"Organizational"}}])
95
95
  expect(datacite.fetch("version")).to eq("2.0.0")
96
96
  expect(datacite.dig("publisher")).to eq("https://cran.r-project.org")
97
97
  end
@@ -116,7 +116,7 @@ describe Bolognese::Metadata, vcr: true do
116
116
  {"nameIdentifierScheme"=>"ORCID",
117
117
  "schemeURI"=>"https://orcid.org",
118
118
  "__content__"=>"https://orcid.org/0000-0002-2192-403X"}},
119
- {"creatorName"=>{"__content__"=>"University Of California, Santa Barbara", "nameType"=>"Organizational"}}])
119
+ {"creatorName"=>{"__content__"=>"University of California, Santa Barbara", "nameType"=>"Organizational"}}])
120
120
  expect(datacite.fetch("version")).to eq("2.0.0")
121
121
  expect(datacite.dig("publisher")).to eq("https://cran.r-project.org")
122
122
  end
@@ -286,6 +286,77 @@ describe Bolognese::Metadata, vcr: true do
286
286
  )
287
287
  end
288
288
 
289
+ it "Schema 4.6" do
290
+ input = fixture_path + 'datacite-example-full-v4.6.xml'
291
+ doi = "10.82433/B09Z-4K37"
292
+ subject = Bolognese::Metadata.new(input: input, from: "datacite", regenerate: true)
293
+ expect(subject.valid?).to be true
294
+
295
+ datacite = Maremma.from_xml(subject.datacite).fetch("resource", {})
296
+ expect(datacite.fetch("xsi:schemaLocation", "").split(" ").first).to eq("http://datacite.org/schema/kernel-4")
297
+ expect(datacite.dig("contributors", "contributor").count).to eq(2)
298
+ expect(datacite.dig("contributors", "contributor")).to include(
299
+ {
300
+ "contributorType"=>"Translator",
301
+ "contributorName"=>{
302
+ "nameType"=>"Personal",
303
+ "__content__"=>"Doe, Jane"
304
+ },
305
+ "givenName"=>"Jane",
306
+ "familyName"=>"Doe",
307
+ "nameIdentifier"=>{
308
+ "nameIdentifierScheme"=>"ORCID",
309
+ "schemeURI"=>"https://orcid.org",
310
+ "__content__"=>"https://orcid.org/0000-0003-1419-2405"
311
+ },
312
+ "affiliation"=>{
313
+ "affiliationIdentifier"=>"https://ror.org/04wxnsj81",
314
+ "affiliationIdentifierScheme"=>"ROR",
315
+ "schemeURI"=>"https://ror.org",
316
+ "__content__"=>"ExampleAffiliation"
317
+ }
318
+ }
319
+ )
320
+ expect(datacite.dig("dates", "date").count).to eq(5)
321
+ expect(datacite.dig("dates", "date")).to include(
322
+ {
323
+ "dateType"=>"Coverage",
324
+ "__content__"=>"2020-01-01"
325
+ }
326
+ )
327
+ expect(datacite.dig("resourceType")).to eq(
328
+ {
329
+ "__content__"=>"Research Project",
330
+ "resourceTypeGeneral"=>"Project"
331
+ }
332
+ )
333
+ expect(datacite.dig("relatedIdentifiers", "relatedIdentifier").count).to eq(4)
334
+ expect(datacite.dig("relatedIdentifiers", "relatedIdentifier")).to eq(
335
+ [
336
+ {
337
+ "relatedIdentifierType"=>"RRID",
338
+ "relationType"=>"References",
339
+ "__content__"=>"RRID:AB_90755"
340
+ },
341
+ {
342
+ "relatedIdentifierType"=>"CSTR",
343
+ "relationType"=>"References",
344
+ "__content__"=>"CSTR:AB_12345"
345
+ },
346
+ {
347
+ "relatedIdentifierType"=>"DOI",
348
+ "relationType"=>"HasTranslation",
349
+ "__content__"=>"10.1234/translated-version"
350
+ },
351
+ {
352
+ "relatedIdentifierType"=>"DOI",
353
+ "relationType"=>"IsTranslationOf",
354
+ "__content__"=>"10.1234/other-version"
355
+ }
356
+ ]
357
+ )
358
+ end
359
+
289
360
  it "Geolocations" do
290
361
  input = fixture_path + 'datacite-example-full-v4.5.xml'
291
362
  doi = "10.82433/B09Z-4K37"
@@ -87,7 +87,7 @@ describe Bolognese::Metadata, vcr: true do
87
87
  expect(jats.dig("publication_type")).to be_nil
88
88
  expect(jats.dig("source")).to eq("Eating your own Dog Food")
89
89
  expect(jats.dig("publisher_name")).to eq("DataCite")
90
- expect(jats.dig("person_group", "name")).to eq("surname"=>"Fenner", "given_names"=>"Martin")
90
+ expect(jats.dig("person_group", 0, "name")).to eq("surname"=>"Fenner", "given_names"=>"Martin")
91
91
  expect(jats.dig("year")).to eq("iso_8601_date"=>"2016-12-20", "__content__"=>"2016")
92
92
  expect(jats.dig("month")).to eq("12")
93
93
  expect(jats.dig("day")).to eq("20")
@@ -179,6 +179,13 @@ describe Bolognese::Metadata, vcr: true do
179
179
  expect(jats.dig("day")).to be_nil
180
180
  expect(jats.dig("pub_id")).to eq("pub_id_type"=>"doi", "__content__"=>"10.34747/g6yb-3412")
181
181
  end
182
+
183
+ it "with publisher with language" do
184
+ input = fixture_path + 'datacite-xml-lang.xml'
185
+ subject = Bolognese::Metadata.new(input: input)
186
+ jats = Maremma.from_xml(subject.jats).fetch("element_citation", {})
187
+ expect(jats.dig("publisher_name")).to eq({"xml:lang"=>"en", "__content__"=>"OSI SAF"})
188
+ end
182
189
  end
183
190
 
184
191
  context "change metadata as datacite xml" do
@@ -94,7 +94,7 @@ describe Bolognese::Metadata, vcr: true do
94
94
  "@type"=>"Person",
95
95
  "@id"=>"https://orcid.org/0000-0002-2192-403X",
96
96
  "affiliation"=>{"@type"=>"Organization", "name"=>"NCEAS"}},
97
- {"name"=>"University Of California, Santa Barbara", "@type"=>"Organization"}])
97
+ {"name"=>"University of California, Santa Barbara", "@type"=>"Organization"}])
98
98
  expect(json["version"]).to eq("2.0.0")
99
99
  expect(json["keywords"]).to eq("data sharing, data repository, DataONE")
100
100
  end
@@ -279,7 +279,7 @@ describe Bolognese::Metadata, vcr: true do
279
279
  expect(json["@id"]).to eq("https://doi.org/10.5072/example-polygon")
280
280
  expect(json["@type"]).to eq("Dataset")
281
281
  expect(json["name"]).to eq("Meteo measurements at the Sand Motor")
282
- expect(json["author"]).to eq("@type"=>"Person", "familyName"=>"Den Heijer", "givenName"=>"C", "name"=>"C Den Heijer")
282
+ expect(json["author"]).to eq("@type"=>"Person", "familyName"=>"den Heijer", "givenName"=>"C", "name"=>"C den Heijer")
283
283
  expect(json["includedInDataCatalog"]).to be_nil
284
284
  expect(json["spatialCoverage"].dig("geo", "polygon").length).to eq(34)
285
285
  expect(json["spatialCoverage"].dig("geo", "polygon")[0].first).to eq(["4.1738852605822", "52.03913926329928"])
@@ -365,5 +365,54 @@ describe Bolognese::Metadata, vcr: true do
365
365
  expect(json["@type"]).to eq("CreativeWork")
366
366
  expect(json["datePublished"]).to eq("2019")
367
367
  end
368
+
369
+ it "from Schema 4.5 with publisher attributes" do
370
+ input = fixture_path + 'datacite-example-full-v4.5.xml'
371
+ subject = Bolognese::Metadata.new(input: input)
372
+ json = JSON.parse(subject.schema_org)
373
+ expect(json["publisher"]).to eq(
374
+ {
375
+ "@type" => "Organization",
376
+ "@id" => "https://ror.org/04z8jg394",
377
+ "name" => "Example Publisher"
378
+ }
379
+ )
380
+ end
381
+
382
+ it "from Schema 4.6 with Translator contributor, workTranslation, translationOfWork, and temporalCoverage" do
383
+ input = fixture_path + 'datacite-example-full-v4.6.xml'
384
+ subject = Bolognese::Metadata.new(input: input)
385
+ json = JSON.parse(subject.schema_org)
386
+
387
+ expect(json["@type"]).to eq(
388
+ "Project"
389
+ )
390
+ expect(json["translator"]).to eq(
391
+ {
392
+ "name" => "Jane Doe",
393
+ "givenName" => "Jane",
394
+ "familyName" => "Doe",
395
+ "affiliation" => {
396
+ "@type" => "Organization",
397
+ "@id" => "https://ror.org/04wxnsj81",
398
+ "name" => "ExampleAffiliation"
399
+ },
400
+ "contributorType" => "Translator",
401
+ "@type" => "Person",
402
+ "@id" => "https://orcid.org/0000-0003-1419-2405"
403
+ }
404
+ )
405
+ expect(json["workTranslation"]).to eq(
406
+ "@id" => "https://doi.org/10.1234/translated-version",
407
+ "@type" => "CreativeWork"
408
+ )
409
+ expect(json["translationOfWork"]).to eq(
410
+ "@id" => "https://doi.org/10.1234/other-version",
411
+ "@type" => "CreativeWork"
412
+ )
413
+ expect(json["temporalCoverage"]).to eq(
414
+ "2020-01-01"
415
+ )
416
+ end
368
417
  end
369
418
  end
metadata CHANGED
@@ -1,55 +1,49 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bolognese
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.3.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Fenner
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-12-04 00:00:00.000000000 Z
11
+ date: 2025-06-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: maremma
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ">="
18
- - !ruby/object:Gem::Version
19
- version: 4.9.4
20
- - - "<"
17
+ - - "~>"
21
18
  - !ruby/object:Gem::Version
22
- version: '5'
19
+ version: '5.0'
23
20
  type: :runtime
24
21
  prerelease: false
25
22
  version_requirements: !ruby/object:Gem::Requirement
26
23
  requirements:
27
- - - ">="
28
- - !ruby/object:Gem::Version
29
- version: 4.9.4
30
- - - "<"
24
+ - - "~>"
31
25
  - !ruby/object:Gem::Version
32
- version: '5'
26
+ version: '5.0'
33
27
  - !ruby/object:Gem::Dependency
34
28
  name: nokogiri
35
29
  requirement: !ruby/object:Gem::Requirement
36
30
  requirements:
37
- - - ">="
31
+ - - "~>"
38
32
  - !ruby/object:Gem::Version
39
- version: 1.13.2
40
- - - "<"
33
+ version: '1.16'
34
+ - - ">="
41
35
  - !ruby/object:Gem::Version
42
- version: '1.14'
36
+ version: 1.16.2
43
37
  type: :runtime
44
38
  prerelease: false
45
39
  version_requirements: !ruby/object:Gem::Requirement
46
40
  requirements:
47
- - - ">="
41
+ - - "~>"
48
42
  - !ruby/object:Gem::Version
49
- version: 1.13.2
50
- - - "<"
43
+ version: '1.16'
44
+ - - ">="
51
45
  - !ruby/object:Gem::Version
52
- version: '1.14'
46
+ version: 1.16.2
53
47
  - !ruby/object:Gem::Dependency
54
48
  name: loofah
55
49
  requirement: !ruby/object:Gem::Requirement
@@ -556,6 +550,20 @@ dependencies:
556
550
  - - ">="
557
551
  - !ruby/object:Gem::Version
558
552
  version: '0'
553
+ - !ruby/object:Gem::Dependency
554
+ name: json-canonicalization
555
+ requirement: !ruby/object:Gem::Requirement
556
+ requirements:
557
+ - - '='
558
+ - !ruby/object:Gem::Version
559
+ version: 0.3.1
560
+ type: :development
561
+ prerelease: false
562
+ version_requirements: !ruby/object:Gem::Requirement
563
+ requirements:
564
+ - - '='
565
+ - !ruby/object:Gem::Version
566
+ version: 0.3.1
559
567
  description: Ruby gem and command-line utility for conversion of DOI metadata from
560
568
  and to different metadata formats, including schema.org.
561
569
  email: mfenner@datacite.org
@@ -746,6 +754,18 @@ files:
746
754
  - resources/kernel-4.5/include/datacite-titleType-v4.xsd
747
755
  - resources/kernel-4.5/include/xml.xsd
748
756
  - resources/kernel-4.5/metadata.xsd
757
+ - resources/kernel-4.6/include/datacite-contributorType-v4.xsd
758
+ - resources/kernel-4.6/include/datacite-dateType-v4.xsd
759
+ - resources/kernel-4.6/include/datacite-descriptionType-v4.xsd
760
+ - resources/kernel-4.6/include/datacite-funderIdentifierType-v4.xsd
761
+ - resources/kernel-4.6/include/datacite-nameType-v4.xsd
762
+ - resources/kernel-4.6/include/datacite-numberType-v4.xsd
763
+ - resources/kernel-4.6/include/datacite-relatedIdentifierType-v4.xsd
764
+ - resources/kernel-4.6/include/datacite-relationType-v4.xsd
765
+ - resources/kernel-4.6/include/datacite-resourceType-v4.xsd
766
+ - resources/kernel-4.6/include/datacite-titleType-v4.xsd
767
+ - resources/kernel-4.6/include/xml.xsd
768
+ - resources/kernel-4.6/metadata.xsd
749
769
  - resources/kernel-4/include/datacite-contributorType-v4.xsd
750
770
  - resources/kernel-4/include/datacite-dateType-v4.xsd
751
771
  - resources/kernel-4/include/datacite-descriptionType-v4.xsd
@@ -782,6 +802,7 @@ files:
782
802
  - spec/fixtures/crossref.bib
783
803
  - spec/fixtures/crossref.ris
784
804
  - spec/fixtures/crossref.xml
805
+ - spec/fixtures/crossref_schema_4.6_values.xml
785
806
  - spec/fixtures/datacite-empty-sizes.xml
786
807
  - spec/fixtures/datacite-example-ROR-nameIdentifiers.xml
787
808
  - spec/fixtures/datacite-example-affiliation.xml
@@ -794,6 +815,7 @@ files:
794
815
  - spec/fixtures/datacite-example-escaped-text.xml
795
816
  - spec/fixtures/datacite-example-full-v4.4.xml
796
817
  - spec/fixtures/datacite-example-full-v4.5.xml
818
+ - spec/fixtures/datacite-example-full-v4.6.xml
797
819
  - spec/fixtures/datacite-example-geolocation-2.xml
798
820
  - spec/fixtures/datacite-example-geolocation.xml
799
821
  - spec/fixtures/datacite-example-nameIdentifier-with-schemeURI.xml
@@ -814,7 +836,10 @@ files:
814
836
  - spec/fixtures/datacite-xml-lang.xml
815
837
  - spec/fixtures/datacite.json
816
838
  - spec/fixtures/datacite.xml
839
+ - spec/fixtures/datacite_blank_name_identifier.xml
840
+ - spec/fixtures/datacite_blank_publisher.xml
817
841
  - spec/fixtures/datacite_dataset.xml
842
+ - spec/fixtures/datacite_journal_article.xml
818
843
  - spec/fixtures/datacite_malformed_creator.xml
819
844
  - spec/fixtures/datacite_missing_creator.xml
820
845
  - spec/fixtures/datacite_schema_3.xml
@@ -834,6 +859,7 @@ files:
834
859
  - spec/fixtures/ris_bug.ris
835
860
  - spec/fixtures/schema_4.0.xml
836
861
  - spec/fixtures/schema_org.json
862
+ - spec/fixtures/schema_org_4.6_attributes.json
837
863
  - spec/fixtures/schema_org_geolocation.json
838
864
  - spec/fixtures/schema_org_geoshape.json
839
865
  - spec/fixtures/schema_org_gtex.json
@@ -1053,8 +1079,10 @@ files:
1053
1079
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/DOI_RA_not_Crossref_or_DataCite.yml
1054
1080
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/unknown_DOI_prefix.yml
1055
1081
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_contributors/none.yml
1082
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_contributors_Translator/supports_Translator_contributorType.yml
1056
1083
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_creators/insert.yml
1057
1084
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_dates/insert.yml
1085
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_dates_with_Coverage/inserts_date_with_dateType_Coverage.yml
1058
1086
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_descriptions/insert.yml
1059
1087
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_identifier/doi.yml
1060
1088
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_language/insert.yml
@@ -1063,8 +1091,13 @@ files:
1063
1091
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publisher/insert.yml
1064
1092
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/insert.yml
1065
1093
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/related_identifier.yml
1094
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers_CSTR/supports_CSTR_relatedIdentifierType.yml
1095
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers_HasTranslation/supports_HasTranslation_relationType.yml
1096
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers_RRID/supports_RRID_relatedIdentifierType.yml
1066
1097
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_items/insert.yml
1067
1098
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_resource_type/insert.yml
1099
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_resource_type_with_Award/supports_Award_as_resourceTypeGeneral.yml
1100
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_resource_type_with_Project/supports_Project_as_resourceTypeGeneral.yml
1068
1101
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_rights_list/insert.yml
1069
1102
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_sizes/insert.yml
1070
1103
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_subjects/insert.yml
@@ -1297,7 +1330,7 @@ homepage: https://github.com/datacite/bolognese
1297
1330
  licenses:
1298
1331
  - MIT
1299
1332
  metadata: {}
1300
- post_install_message:
1333
+ post_install_message:
1301
1334
  rdoc_options: []
1302
1335
  require_paths:
1303
1336
  - lib
@@ -1305,15 +1338,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
1305
1338
  requirements:
1306
1339
  - - ">="
1307
1340
  - !ruby/object:Gem::Version
1308
- version: '2.3'
1341
+ version: '3.0'
1309
1342
  required_rubygems_version: !ruby/object:Gem::Requirement
1310
1343
  requirements:
1311
1344
  - - ">="
1312
1345
  - !ruby/object:Gem::Version
1313
1346
  version: '0'
1314
1347
  requirements: []
1315
- rubygems_version: 3.0.3.1
1316
- signing_key:
1348
+ rubygems_version: 3.3.26
1349
+ signing_key:
1317
1350
  specification_version: 4
1318
1351
  summary: Ruby client library for conversion of DOI Metadata
1319
1352
  test_files: []