bolognese 1.3.1 → 2.3.9

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 (527) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build.yml +9 -0
  3. data/.github/workflows/changelog.yml +36 -0
  4. data/.github/workflows/ci.yml +22 -0
  5. data/.github/workflows/pull-request.yml +9 -0
  6. data/.github/workflows/release.yml +32 -0
  7. data/.gitignore +3 -0
  8. data/.rubocop.yml +658 -0
  9. data/CHANGELOG.md +1864 -0
  10. data/Gemfile.lock +163 -129
  11. data/README.md +3 -2
  12. data/bolognese.gemspec +22 -20
  13. data/lib/bolognese/author_utils.rb +49 -25
  14. data/lib/bolognese/cli.rb +6 -4
  15. data/lib/bolognese/datacite_utils.rb +143 -17
  16. data/lib/bolognese/doi_utils.rb +14 -9
  17. data/lib/bolognese/metadata.rb +27 -19
  18. data/lib/bolognese/metadata_utils.rb +25 -6
  19. data/lib/bolognese/readers/bibtex_reader.rb +29 -34
  20. data/lib/bolognese/readers/citeproc_reader.rb +27 -35
  21. data/lib/bolognese/readers/codemeta_reader.rb +12 -13
  22. data/lib/bolognese/readers/crosscite_reader.rb +4 -1
  23. data/lib/bolognese/readers/crossref_reader.rb +163 -67
  24. data/lib/bolognese/readers/datacite_json_reader.rb +4 -1
  25. data/lib/bolognese/readers/datacite_reader.rb +150 -38
  26. data/lib/bolognese/readers/npm_reader.rb +115 -0
  27. data/lib/bolognese/readers/ris_reader.rb +10 -14
  28. data/lib/bolognese/readers/schema_org_reader.rb +58 -25
  29. data/lib/bolognese/utils.rb +502 -63
  30. data/lib/bolognese/version.rb +1 -1
  31. data/lib/bolognese/writers/bibtex_writer.rb +4 -3
  32. data/lib/bolognese/writers/codemeta_writer.rb +6 -5
  33. data/lib/bolognese/writers/csv_writer.rb +1 -1
  34. data/lib/bolognese/writers/datacite_json_writer.rb +3 -1
  35. data/lib/bolognese/writers/jats_writer.rb +9 -4
  36. data/lib/bolognese/writers/ris_writer.rb +2 -2
  37. data/lib/bolognese/writers/schema_org_writer.rb +11 -7
  38. data/lib/bolognese.rb +2 -1
  39. data/package.json +12 -0
  40. data/resources/kernel-4/include/datacite-contributorType-v4.xsd +24 -22
  41. data/resources/kernel-4/include/datacite-dateType-v4.xsd +14 -12
  42. data/resources/kernel-4/include/datacite-descriptionType-v4.xsd +6 -6
  43. data/resources/kernel-4/include/datacite-funderIdentifierType-v4.xsd +5 -5
  44. data/resources/kernel-4/include/datacite-nameType-v4.xsd +2 -2
  45. data/resources/kernel-4/include/datacite-numberType-v4.xsd +12 -0
  46. data/resources/kernel-4/include/datacite-relatedIdentifierType-v4.xsd +24 -21
  47. data/resources/kernel-4/include/datacite-relationType-v4.xsd +43 -35
  48. data/resources/kernel-4/include/datacite-resourceType-v4.xsd +38 -17
  49. data/resources/kernel-4/include/datacite-titleType-v4.xsd +5 -5
  50. data/resources/kernel-4/metadata.xsd +349 -146
  51. data/resources/kernel-4.3/metadata.xsd +39 -8
  52. data/resources/kernel-4.4/include/datacite-contributorType-v4.xsd +35 -0
  53. data/resources/kernel-4.4/include/datacite-dateType-v4.xsd +25 -0
  54. data/resources/kernel-4.4/include/datacite-descriptionType-v4.xsd +19 -0
  55. data/resources/kernel-4.4/include/datacite-funderIdentifierType-v4.xsd +16 -0
  56. data/resources/kernel-4.4/include/datacite-nameType-v4.xsd +10 -0
  57. data/resources/kernel-4.4/include/datacite-numberType-v4.xsd +12 -0
  58. data/resources/kernel-4.4/include/datacite-relatedIdentifierType-v4.xsd +34 -0
  59. data/resources/kernel-4.4/include/datacite-relationType-v4.xsd +51 -0
  60. data/resources/kernel-4.4/include/datacite-resourceType-v4.xsd +43 -0
  61. data/resources/kernel-4.4/include/datacite-titleType-v4.xsd +14 -0
  62. data/resources/kernel-4.4/include/xml.xsd +286 -0
  63. data/resources/kernel-4.4/metadata.xsd +707 -0
  64. data/resources/kernel-4.5/include/datacite-contributorType-v4.xsd +35 -0
  65. data/resources/kernel-4.5/include/datacite-dateType-v4.xsd +25 -0
  66. data/resources/kernel-4.5/include/datacite-descriptionType-v4.xsd +19 -0
  67. data/resources/kernel-4.5/include/datacite-funderIdentifierType-v4.xsd +16 -0
  68. data/resources/kernel-4.5/include/datacite-nameType-v4.xsd +10 -0
  69. data/resources/kernel-4.5/include/datacite-numberType-v4.xsd +12 -0
  70. data/resources/kernel-4.5/include/datacite-relatedIdentifierType-v4.xsd +34 -0
  71. data/resources/kernel-4.5/include/datacite-relationType-v4.xsd +53 -0
  72. data/resources/kernel-4.5/include/datacite-resourceType-v4.xsd +45 -0
  73. data/resources/kernel-4.5/include/datacite-titleType-v4.xsd +14 -0
  74. data/resources/kernel-4.5/include/xml.xsd +286 -0
  75. data/resources/kernel-4.5/metadata.xsd +711 -0
  76. data/resources/kernel-4.6/include/datacite-contributorType-v4.xsd +37 -0
  77. data/resources/kernel-4.6/include/datacite-dateType-v4.xsd +27 -0
  78. data/resources/kernel-4.6/include/datacite-descriptionType-v4.xsd +19 -0
  79. data/resources/kernel-4.6/include/datacite-funderIdentifierType-v4.xsd +16 -0
  80. data/resources/kernel-4.6/include/datacite-nameType-v4.xsd +10 -0
  81. data/resources/kernel-4.6/include/datacite-numberType-v4.xsd +12 -0
  82. data/resources/kernel-4.6/include/datacite-relatedIdentifierType-v4.xsd +37 -0
  83. data/resources/kernel-4.6/include/datacite-relationType-v4.xsd +57 -0
  84. data/resources/kernel-4.6/include/datacite-resourceType-v4.xsd +49 -0
  85. data/resources/kernel-4.6/include/datacite-titleType-v4.xsd +14 -0
  86. data/resources/kernel-4.6/include/xml.xsd +286 -0
  87. data/resources/kernel-4.6/metadata.xsd +712 -0
  88. data/resources/oecd/dfg-mappings.json +1866 -0
  89. data/resources/oecd/for-mappings.json +1101 -0
  90. data/resources/oecd/fos-mappings.json +198 -0
  91. data/resources/schema_org/jsonldcontext.json +1069 -232
  92. data/resources/spdx/licenses.json +5297 -0
  93. metadata +160 -510
  94. data/.travis.yml +0 -33
  95. data/spec/array_spec.rb +0 -22
  96. data/spec/author_utils_spec.rb +0 -188
  97. data/spec/cli_spec.rb +0 -219
  98. data/spec/datacite_utils_spec.rb +0 -148
  99. data/spec/doi_utils_spec.rb +0 -302
  100. data/spec/find_from_format_spec.rb +0 -98
  101. data/spec/fixtures/aida.json +0 -82
  102. data/spec/fixtures/citeproc-no-author.json +0 -26
  103. data/spec/fixtures/citeproc-no-categories.json +0 -21
  104. data/spec/fixtures/citeproc.json +0 -30
  105. data/spec/fixtures/codemeta.json +0 -86
  106. data/spec/fixtures/codemeta_v2.json +0 -86
  107. data/spec/fixtures/crosscite.json +0 -63
  108. data/spec/fixtures/crossref.bib +0 -14
  109. data/spec/fixtures/crossref.ris +0 -15
  110. data/spec/fixtures/crossref.xml +0 -606
  111. data/spec/fixtures/datacite-example-affiliation.xml +0 -114
  112. data/spec/fixtures/datacite-example-complicated-v3.0.xml +0 -48
  113. data/spec/fixtures/datacite-example-complicated-v4.0.xml +0 -54
  114. data/spec/fixtures/datacite-example-complicated-v4.1.xml +0 -57
  115. data/spec/fixtures/datacite-example-geolocation-2.xml +0 -141
  116. data/spec/fixtures/datacite-example-geolocation.xml +0 -66
  117. data/spec/fixtures/datacite-example-polygon-v4.1.xml +0 -163
  118. data/spec/fixtures/datacite-geolocation-empty.xml +0 -159
  119. data/spec/fixtures/datacite-metadata-sample-complicated-v2.2.xml +0 -52
  120. data/spec/fixtures/datacite-multiple-language.xml +0 -38
  121. data/spec/fixtures/datacite-multiple-rights.xml +0 -59
  122. data/spec/fixtures/datacite-seriesinformation.xml +0 -41
  123. data/spec/fixtures/datacite-xml-lang.xml +0 -51
  124. data/spec/fixtures/datacite.json +0 -83
  125. data/spec/fixtures/datacite.xml +0 -40
  126. data/spec/fixtures/datacite_dataset.xml +0 -58
  127. data/spec/fixtures/datacite_malformed_creator.xml +0 -52
  128. data/spec/fixtures/datacite_missing_creator.xml +0 -33
  129. data/spec/fixtures/datacite_schema_3.xml +0 -58
  130. data/spec/fixtures/datacite_software.json +0 -21
  131. data/spec/fixtures/datacite_software_missing_comma.json +0 -18
  132. data/spec/fixtures/datacite_software_overlapping_keys.json +0 -18
  133. data/spec/fixtures/funding_reference.xml +0 -53
  134. data/spec/fixtures/gtex.xml +0 -71
  135. data/spec/fixtures/maremma/codemeta.json +0 -36
  136. data/spec/fixtures/nist.xml +0 -35
  137. data/spec/fixtures/ns0.xml +0 -2
  138. data/spec/fixtures/pure.bib +0 -14
  139. data/spec/fixtures/pure.ris +0 -15
  140. data/spec/fixtures/ris_bug.ris +0 -9
  141. data/spec/fixtures/schema_4.0.xml +0 -140
  142. data/spec/fixtures/schema_org.json +0 -44
  143. data/spec/fixtures/schema_org_geolocation.json +0 -82
  144. data/spec/fixtures/schema_org_geoshape.json +0 -550
  145. data/spec/fixtures/schema_org_gtex.json +0 -76
  146. data/spec/fixtures/schema_org_list.json +0 -12628
  147. data/spec/fixtures/schema_org_tdl_iodp_invalid_authors.json +0 -25
  148. data/spec/fixtures/schema_org_topmed.json +0 -54
  149. data/spec/fixtures/schema_org_type_as_array.json +0 -41
  150. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/default.yml +0 -95
  151. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_bibtex.yml +0 -95
  152. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_citation.yml +0 -95
  153. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_crossref.yml +0 -95
  154. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_datacite.yml +0 -95
  155. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_jats.yml +0 -95
  156. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/crossref/to_schema_org.yml +0 -95
  157. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/default.yml +0 -93
  158. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_bibtex.yml +0 -93
  159. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_citation.yml +0 -93
  160. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite.yml +0 -93
  161. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_datacite_json.yml +0 -93
  162. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_jats.yml +0 -93
  163. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/datacite/to_schema_org.yml +0 -93
  164. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/default.yml +0 -111
  165. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_bibtex.yml +0 -111
  166. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_datacite.yml +0 -111
  167. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/convert_from_id/schema_org/to_schema_org.yml +0 -111
  168. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/crossref.yml +0 -47
  169. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/datacite.yml +0 -47
  170. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/jalc.yml +0 -47
  171. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/kisti.yml +0 -47
  172. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/medra.yml +0 -47
  173. data/spec/fixtures/vcr_cassettes/Bolognese_CLI/find_from_format_by_id/op.yml +0 -47
  174. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/author.yml +0 -44
  175. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/no_author.yml +0 -44
  176. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/single_author.yml +0 -44
  177. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/authors_as_string/with_organization.yml +0 -44
  178. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_state.yml +0 -93
  179. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_datacite_metadata/change_title.yml +0 -93
  180. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_description.yml +0 -51
  181. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license.yml +0 -51
  182. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license_name.yml +0 -51
  183. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_license_url.yml +0 -51
  184. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/change_state.yml +0 -51
  185. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/validates_against_schema.yml +0 -51
  186. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/change_metadata_as_datacite_xml/with_data_citation.yml +0 -51
  187. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/doi.yml +0 -44
  188. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/doi_with_protocol.yml +0 -44
  189. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/dx_doi_org_url.yml +0 -44
  190. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/force_test_resolver.yml +0 -44
  191. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/https_url.yml +0 -44
  192. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/test_resolver.yml +0 -44
  193. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_api_url/test_resolver_http.yml +0 -44
  194. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/doi.yml +0 -44
  195. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/doi_with_special_characters.yml +0 -44
  196. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/not_a_doi.yml +0 -44
  197. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/sandbox_url.yml +0 -44
  198. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_from_url/url.yml +0 -44
  199. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/crossref.yml +0 -88
  200. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/datacite.yml +0 -88
  201. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/jalc.yml +0 -88
  202. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/kisti.yml +0 -88
  203. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/medra.yml +0 -88
  204. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_a_valid_prefix.yml +0 -44
  205. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/not_found.yml +0 -88
  206. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_registration_agency/op.yml +0 -88
  207. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/doi.yml +0 -44
  208. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/doi_with_protocol.yml +0 -44
  209. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/dx_doi_org_url.yml +0 -44
  210. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/force_test_resolver.yml +0 -44
  211. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/https_url.yml +0 -44
  212. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/test_resolver.yml +0 -44
  213. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/doi_resolver/test_resolver_http.yml +0 -44
  214. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref.yml +0 -143
  215. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/crossref_doi_not_url.yml +0 -143
  216. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite.yml +0 -143
  217. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/datacite_doi_http.yml +0 -143
  218. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/github.yml +0 -99
  219. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/orcid.yml +0 -99
  220. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/schema_org.yml +0 -99
  221. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_by_ID/unknown_DOI_registration_agency.yml +0 -143
  222. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/bibtex.yml +0 -99
  223. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/citeproc.yml +0 -99
  224. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/codemeta.yml +0 -99
  225. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crosscite.yml +0 -99
  226. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/crossref.yml +0 -99
  227. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite.yml +0 -99
  228. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/datacite_json.yml +0 -99
  229. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/ris.yml +0 -99
  230. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_file/schema_org.yml +0 -99
  231. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/find_from_format_from_string/crosscite.yml +0 -99
  232. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/from_schema_org/with_id.yml +0 -44
  233. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/maremma.yml +0 -73
  234. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_codemeta_metadata/metadata_reports.yml +0 -94
  235. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_ORCID_ID.yml +0 -92
  236. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_SICI_DOI.yml +0 -91
  237. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/DOI_with_data_citation.yml +0 -95
  238. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/JaLC.yml +0 -126
  239. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/KISTI.yml +0 -147
  240. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/OP.yml +0 -89
  241. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/another_book.yml +0 -127
  242. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/another_book_chapter.yml +0 -89
  243. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book.yml +0 -88
  244. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/book_chapter.yml +0 -159
  245. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/component.yml +0 -109
  246. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dataset.yml +0 -119
  247. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/dataset_usda.yml +0 -129
  248. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/date_in_future.yml +0 -90
  249. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/error_unknown.yml +0 -88
  250. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/jj.yml +0 -87
  251. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article.yml +0 -89
  252. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_original_language_title.yml +0 -87
  253. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with.yml +0 -93
  254. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_article_with_funding.yml +0 -89
  255. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/journal_issue.yml +0 -116
  256. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/mEDRA.yml +0 -125
  257. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/markup.yml +0 -92
  258. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/missing_creator.yml +0 -89
  259. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/multiple_t.yml +0 -47
  260. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/multiple_titles.yml +0 -87
  261. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/not_found_error.yml +0 -86
  262. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/posted_content.yml +0 -88
  263. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/vor_with_url.yml +0 -91
  264. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/yet_another_book.yml +0 -87
  265. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_crossref_metadata/yet_another_book_chapter.yml +0 -88
  266. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/BlogPosting.yml +0 -99
  267. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_test_system.yml +0 -100
  268. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_test_system_schema_3.yml +0 -95
  269. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_in_with_related_id_system.yml +0 -110
  270. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/DOI_not_found.yml +0 -89
  271. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Dataset.yml +0 -93
  272. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding.yml +0 -93
  273. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding_empty_awardTitle.yml +0 -93
  274. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Funding_schema_version_4.yml +0 -93
  275. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/Referee_report_in_test_system.yml +0 -97
  276. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_only_full_name.yml +0 -93
  277. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_scheme.yml +0 -93
  278. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/author_with_wrong_orcid_scheme.yml +0 -93
  279. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/content_url.yml +0 -101
  280. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/date.yml +0 -106
  281. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/dissertation.yml +0 -93
  282. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/doi_with_sign.yml +0 -97
  283. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/empty_subject.yml +0 -95
  284. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/funding_schema_version_3.yml +0 -119
  285. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/is_identical_to.yml +0 -93
  286. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/keywords_with_attributes.yml +0 -108
  287. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/leading_and_trailing_whitespace.yml +0 -121
  288. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_author_names_in_one_creatorsName.yml +0 -102
  289. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/multiple_licenses.yml +0 -119
  290. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/series-information.yml +0 -93
  291. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/subject_scheme.yml +0 -93
  292. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_datacite_metadata/xs_string_attributes.yml +0 -93
  293. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date/publication_date.yml +0 -44
  294. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/date.yml +0 -44
  295. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year-month.yml +0 -44
  296. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_date_parts/year.yml +0 -44
  297. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/date.yml +0 -44
  298. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/year-month.yml +0 -44
  299. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_from_parts/year.yml +0 -44
  300. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/date.yml +0 -44
  301. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year-month.yml +0 -44
  302. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_date_parts/year.yml +0 -44
  303. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_familyName.yml +0 -55
  304. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_Thai.yml +0 -49
  305. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order.yml +0 -75
  306. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_display-order_with_ORCID.yml +0 -49
  307. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/has_name_in_sort-order.yml +0 -49
  308. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/hyper-authorship.yml +0 -1222
  309. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/is_organization.yml +0 -44
  310. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_author_names_in_one_field.yml +0 -58
  311. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/multiple_name_identifier.yml +0 -49
  312. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation.yml +0 -49
  313. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_affiliation_and_country.yml +0 -75
  314. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/name_with_role.yml +0 -49
  315. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_one_author/only_familyName_and_givenName.yml +0 -49
  316. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting.yml +0 -111
  317. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/BlogPosting_with_new_DOI.yml +0 -111
  318. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse.yml +0 -37
  319. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/harvard_dataverse_via_identifiers_org.yml +0 -156
  320. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/ornl.yml +0 -704
  321. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/pangaea.yml +0 -49
  322. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_schema_org_metadata/zenodo.yml +0 -580
  323. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/only_title.yml +0 -44
  324. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_and_pages.yml +0 -44
  325. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_volume_and_pages.yml +0 -44
  326. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/get_series_information/title_volume_issue_and_pages.yml +0 -44
  327. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_as_codemeta_url.yml +0 -44
  328. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_from_url.yml +0 -44
  329. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/github/github_from_url_file.yml +0 -44
  330. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/DOI_RA_not_Crossref_or_DataCite.yml +0 -47
  331. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/handle_input/unknown_DOI_prefix.yml +0 -47
  332. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_alternate_identifiers/insert.yml +0 -49
  333. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_contributors/none.yml +0 -49
  334. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_creators/insert.yml +0 -49
  335. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_descriptions/insert.yml +0 -55
  336. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_identifier/doi.yml +0 -49
  337. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_person/creator_only_name.yml +0 -49
  338. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publication_year/insert.yml +0 -49
  339. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_publisher/insert.yml +0 -49
  340. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/insert.yml +0 -49
  341. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_related_identifiers/related_identifier.yml +0 -49
  342. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_resource_type/insert.yml +0 -49
  343. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_rights_list/insert.yml +0 -49
  344. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_subjects/insert.yml +0 -49
  345. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_titles/insert.yml +0 -49
  346. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/insert_version/insert.yml +0 -49
  347. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_comma.yml +0 -44
  348. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_family_name.yml +0 -44
  349. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_id.yml +0 -44
  350. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_known_given_name.yml +0 -44
  351. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_no_info.yml +0 -44
  352. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_orcid_id.yml +0 -44
  353. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/is_personal_name_/has_type_organization.yml +0 -44
  354. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/missing_comma.yml +0 -99
  355. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/nil.yml +0 -99
  356. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/overlapping_keys.yml +0 -99
  357. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/jsonlint/valid.yml +0 -99
  358. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/SICI_doi.yml +0 -44
  359. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi.yml +0 -44
  360. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_force_datacite_sandbox.yml +0 -44
  361. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_datacite_sandbox.yml +0 -44
  362. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_from_url_without_doi_proxy.yml +0 -44
  363. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_too_long.yml +0 -44
  364. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_prefix_with_string.yml +0 -44
  365. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/doi_with_protocol.yml +0 -44
  366. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/dx_doi_org_url.yml +0 -44
  367. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/https_url.yml +0 -44
  368. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/not_valid_doi_prefix.yml +0 -44
  369. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_doi/url_with_one_slash.yml +0 -44
  370. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi.yml +0 -44
  371. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/doi_as_url.yml +0 -44
  372. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/ftp.yml +0 -44
  373. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/invalid_url.yml +0 -44
  374. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/sandbox_via_options.yml +0 -44
  375. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/sandbox_via_url.yml +0 -44
  376. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/string.yml +0 -44
  377. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url.yml +0 -44
  378. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_id/url_with_utf-8.yml +0 -44
  379. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/doi.yml +0 -44
  380. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_ids/url.yml +0 -44
  381. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_array.yml +0 -44
  382. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_empty_array.yml +0 -44
  383. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_hash.yml +0 -44
  384. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_issn/from_string.yml +0 -44
  385. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/uri.yml +0 -44
  386. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/normalize_url/with_trailing_slash.yml +0 -44
  387. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array.yml +0 -44
  388. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/array_of_strings.yml +0 -44
  389. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/first.yml +0 -44
  390. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/hash.yml +0 -44
  391. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/nil.yml +0 -44
  392. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/parse_attributes/string.yml +0 -44
  393. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_only_keep_specific_tags.yml +0 -44
  394. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_remove_a_tags.yml +0 -44
  395. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org/with_id.yml +0 -44
  396. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org_identifiers/with_identifiers.yml +0 -44
  397. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_doi/doi.yml +0 -44
  398. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/funder_doi.yml +0 -44
  399. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/funder_doi_without_prefix.yml +0 -44
  400. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_funder_doi/non-funder_doi.yml +0 -44
  401. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid.yml +0 -44
  402. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_https.yml +0 -44
  403. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_id.yml +0 -44
  404. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_with_spaces.yml +0 -44
  405. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_wrong_id.yml +0 -44
  406. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_www.yml +0 -44
  407. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme.yml +0 -44
  408. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_https.yml +0 -44
  409. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_trailing_slash.yml +0 -44
  410. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid_scheme/validate_orcid_scheme_www.yml +0 -44
  411. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi.yml +0 -44
  412. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi_as_url.yml +0 -44
  413. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/doi_with_protocol.yml +0 -44
  414. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_prefix/only_prefix.yml +0 -44
  415. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/DOI.yml +0 -44
  416. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/ISSN.yml +0 -44
  417. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/URL.yml +0 -44
  418. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/string.yml +0 -44
  419. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/BlogPosting.yml +0 -55
  420. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/Dataset.yml +0 -49
  421. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/authors_with_affiliations.yml +0 -75
  422. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/climate_data.yml +0 -52
  423. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/from_schema_org.yml +0 -111
  424. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/keywords_subject_scheme.yml +0 -119
  425. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/maremma.yml +0 -73
  426. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/text.yml +0 -49
  427. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_data_citation.yml +0 -51
  428. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_bibtex/with_pages.yml +0 -48
  429. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Dataset.yml +0 -49
  430. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Journal_article.yml +0 -51
  431. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citation/Missing_author.yml +0 -45
  432. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting.yml +0 -55
  433. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/BlogPosting_schema_org.yml +0 -109
  434. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/Dataset.yml +0 -49
  435. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/container_title.yml +0 -49
  436. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/journal_article.yml +0 -51
  437. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/keywords_subject_scheme.yml +0 -119
  438. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/maremma.yml +0 -73
  439. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/missing_creator.yml +0 -45
  440. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/multiple_abstracts.yml +0 -49
  441. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/software.yml +0 -49
  442. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_first_page.yml +0 -46
  443. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_only_first_page.yml +0 -46
  444. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_citeproc/with_pages.yml +0 -48
  445. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml +0 -54
  446. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite_check_codemeta_v2.yml +0 -54
  447. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/datacite_database_attributes.yml +0 -49
  448. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/maremma.yml +0 -73
  449. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_ORCID_ID.yml +0 -48
  450. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation.yml +0 -51
  451. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crosscite/with_data_citation_schema_org.yml +0 -111
  452. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_crossref/from_DataCite.yml +0 -49
  453. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/climate_data.yml +0 -52
  454. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/maremma.yml +0 -73
  455. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/text.yml +0 -49
  456. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/with_data_citation.yml +0 -51
  457. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_csv/with_pages.yml +0 -48
  458. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/maremma.yml +0 -73
  459. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_ORCID_ID.yml +0 -48
  460. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation.yml +0 -51
  461. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_json/with_data_citation_schema_org.yml +0 -111
  462. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/DOI_not_found.yml +0 -45
  463. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Dataset_in_schema_4_0.yml +0 -49
  464. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Text_pass-thru.yml +0 -81
  465. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/Text_pass-thru_with_doi_in_options.yml +0 -81
  466. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/maremma.yml +0 -73
  467. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_ORCID_ID.yml +0 -48
  468. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation.yml +0 -51
  469. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_data_citation_schema_org.yml +0 -111
  470. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_datacite_xml/with_editor.yml +0 -45
  471. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/Dataset_in_schema_4_0.yml +0 -49
  472. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/Text_pass-thru.yml +0 -81
  473. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/book_chapter.yml +0 -84
  474. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/maremma.yml +0 -73
  475. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_ORCID_ID.yml +0 -48
  476. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_data_citation.yml +0 -51
  477. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_data_citation_schema_org.yml +0 -111
  478. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_jats_xml/with_editor.yml +0 -45
  479. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting.yml +0 -55
  480. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/BlogPosting_schema_org.yml +0 -111
  481. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/Dataset.yml +0 -49
  482. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/alternate_name.yml +0 -49
  483. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/journal_article.yml +0 -51
  484. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/keywords_with_subject_scheme.yml +0 -119
  485. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/maremma.yml +0 -73
  486. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_ris/with_pages.yml +0 -48
  487. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding.yml +0 -49
  488. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Funding_OpenAIRE.yml +0 -75
  489. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON.yml +0 -75
  490. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_IsSupplementTo.yml +0 -49
  491. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/Schema_org_JSON_isReferencedBy.yml +0 -49
  492. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/alternate_identifiers.yml +0 -57
  493. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/data_catalog.yml +0 -62
  494. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/geo_location_box.yml +0 -98
  495. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/journal_article.yml +0 -51
  496. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/maremma_schema_org_JSON.yml +0 -73
  497. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/series_information.yml +0 -49
  498. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/subject_scheme.yml +0 -49
  499. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_schema_org/subject_scheme_multiple_keywords.yml +0 -119
  500. data/spec/fixtures/vcr_cassettes/Bolognese_Metadata/write_metadata_as_turtle/Dataset.yml +0 -49
  501. data/spec/fixtures/vivli.xml +0 -1
  502. data/spec/metadata_spec.rb +0 -165
  503. data/spec/readers/bibtex_reader_spec.rb +0 -59
  504. data/spec/readers/citeproc_reader_spec.rb +0 -61
  505. data/spec/readers/codemeta_reader_spec.rb +0 -117
  506. data/spec/readers/crosscite_reader_spec.rb +0 -41
  507. data/spec/readers/crossref_reader_spec.rb +0 -509
  508. data/spec/readers/datacite_json_reader_spec.rb +0 -61
  509. data/spec/readers/datacite_reader_spec.rb +0 -1041
  510. data/spec/readers/ris_reader_spec.rb +0 -73
  511. data/spec/readers/schema_org_reader_spec.rb +0 -325
  512. data/spec/spec_helper.rb +0 -94
  513. data/spec/utils_spec.rb +0 -417
  514. data/spec/writers/bibtex_writer_spec.rb +0 -163
  515. data/spec/writers/citation_writer_spec.rb +0 -35
  516. data/spec/writers/citeproc_writer_spec.rb +0 -223
  517. data/spec/writers/codemeta_writer_spec.rb +0 -46
  518. data/spec/writers/crosscite_writer_spec.rb +0 -118
  519. data/spec/writers/crossref_writer_spec.rb +0 -21
  520. data/spec/writers/csv_writer_spec.rb +0 -93
  521. data/spec/writers/datacite_json_writer_spec.rb +0 -86
  522. data/spec/writers/datacite_writer_spec.rb +0 -366
  523. data/spec/writers/jats_writer_spec.rb +0 -179
  524. data/spec/writers/rdf_xml_writer_spec.rb +0 -100
  525. data/spec/writers/ris_writer_spec.rb +0 -203
  526. data/spec/writers/schema_org_writer_spec.rb +0 -322
  527. data/spec/writers/turtle_writer_spec.rb +0 -84
data/Gemfile.lock CHANGED
@@ -1,204 +1,238 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bolognese (1.3.1)
5
- activesupport (>= 4.2.5, < 6)
4
+ bolognese (2.3.9)
5
+ activesupport (>= 4.2.5)
6
6
  benchmark_methods (~> 0.7)
7
- bibtex-ruby (~> 4.1)
7
+ bibtex-ruby (>= 5.1.0)
8
8
  builder (~> 3.2, >= 3.2.2)
9
- citeproc-ruby (~> 1.1, >= 1.1.10)
9
+ citeproc-ruby (~> 1.1, >= 1.1.12)
10
10
  colorize (~> 0.8.1)
11
- concurrent-ruby (~> 1.0.5)
12
- csl-styles (~> 1.0, >= 1.0.1.8)
11
+ concurrent-ruby (~> 1.1, >= 1.1.5)
12
+ csl-styles (~> 1.0, >= 1.0.1.10)
13
13
  edtf (~> 3.0, >= 3.0.4)
14
14
  gender_detector (~> 0.1.2)
15
15
  iso8601 (~> 0.9.1)
16
- json-ld-preloaded (= 3.0.2)
17
- jsonlint (~> 0.2.0)
16
+ json-ld-preloaded (~> 3.1, >= 3.1.3)
17
+ jsonlint (~> 0.3.0)
18
18
  loofah (~> 2.0, >= 2.0.3)
19
- maremma (>= 3.5.7, < 5)
19
+ maremma (~> 5.0)
20
20
  namae (~> 1.0)
21
- nokogiri (~> 1.8.1)
22
- oj (>= 2.8.3)
21
+ nokogiri (~> 1.16, >= 1.16.2)
22
+ oj (~> 3.10)
23
+ oj_mimic_json (~> 1.0, >= 1.0.1)
23
24
  postrank-uri (~> 1.0, >= 1.0.18)
24
- rdf-rdfxml (~> 2.0)
25
- rdf-turtle (~> 2.2)
26
- thor (~> 0.19)
25
+ rdf-rdfxml (~> 3.1)
26
+ rdf-turtle (~> 3.1)
27
+ thor (>= 0.19)
27
28
 
28
29
  GEM
29
30
  remote: https://rubygems.org/
30
31
  specs:
31
- activesupport (5.2.3)
32
+ activesupport (6.1.7.3)
32
33
  concurrent-ruby (~> 1.0, >= 1.0.2)
33
- i18n (>= 0.7, < 2)
34
- minitest (~> 5.1)
35
- tzinfo (~> 1.1)
36
- addressable (2.6.0)
37
- public_suffix (>= 2.0.2, < 4.0)
34
+ i18n (>= 1.6, < 2)
35
+ minitest (>= 5.1)
36
+ tzinfo (~> 2.0)
37
+ zeitwerk (~> 2.3)
38
+ addressable (2.8.1)
39
+ public_suffix (>= 2.0.2, < 6.0)
38
40
  benchmark_methods (0.7)
39
- bibtex-ruby (4.4.7)
41
+ bibtex-ruby (6.0.0)
40
42
  latex-decode (~> 0.0)
41
- builder (3.2.3)
42
- citeproc (1.0.9)
43
+ builder (3.2.4)
44
+ byebug (11.1.3)
45
+ citeproc (1.0.10)
43
46
  namae (~> 1.0)
44
- citeproc-ruby (1.1.10)
47
+ citeproc-ruby (1.1.14)
45
48
  citeproc (~> 1.0, >= 1.0.9)
46
- csl (~> 1.5)
47
- codeclimate-test-reporter (1.0.9)
48
- simplecov (<= 0.13)
49
+ csl (~> 1.6)
49
50
  colorize (0.8.1)
50
- concurrent-ruby (1.0.5)
51
- crack (0.4.3)
52
- safe_yaml (~> 1.0.0)
53
- crass (1.0.4)
54
- csl (1.5.0)
51
+ concurrent-ruby (1.2.2)
52
+ crack (0.4.5)
53
+ rexml
54
+ crass (1.0.6)
55
+ csl (1.6.0)
55
56
  namae (~> 1.0)
56
- csl-styles (1.0.1.9)
57
+ rexml
58
+ csl-styles (1.0.1.11)
57
59
  csl (~> 1.0)
58
- diff-lcs (1.3)
59
- docile (1.1.5)
60
- ebnf (1.1.3)
61
- rdf (~> 3.0)
62
- sxp (~> 1.0)
63
- edtf (3.0.4)
64
- activesupport (>= 3.0, < 6.0)
65
- excon (0.62.0)
66
- faraday (0.14.0)
67
- multipart-post (>= 1.2, < 3)
60
+ diff-lcs (1.5.0)
61
+ docile (1.4.0)
62
+ ebnf (2.3.3)
63
+ htmlentities (~> 4.3)
64
+ rdf (~> 3.2)
65
+ scanf (~> 1.0)
66
+ sxp (~> 1.2)
67
+ unicode-types (~> 1.8)
68
+ edtf (3.1.1)
69
+ activesupport (>= 3.0, < 8.0)
70
+ excon (0.71.1)
71
+ faraday (2.7.6)
72
+ faraday-net_http (>= 2.0, < 3.1)
73
+ ruby2_keywords (>= 0.0.4)
68
74
  faraday-encoding (0.0.5)
69
75
  faraday
70
- faraday_middleware (0.12.2)
71
- faraday (>= 0.7.4, < 1.0)
76
+ faraday-excon (2.1.0)
77
+ excon (>= 0.27.4)
78
+ faraday (~> 2.0)
79
+ faraday-follow_redirects (0.3.0)
80
+ faraday (>= 1, < 3)
81
+ faraday-gzip (0.1.0)
82
+ faraday (>= 1.0)
83
+ zlib (~> 2.1)
84
+ faraday-multipart (1.0.4)
85
+ multipart-post (~> 2)
86
+ faraday-net_http (3.0.2)
72
87
  gender_detector (0.1.2)
73
88
  unicode_utils (>= 1.3.0)
74
- haml (5.1.1)
89
+ haml (5.2.2)
75
90
  temple (>= 0.8.0)
76
91
  tilt
77
- hamster (3.0.0)
78
- concurrent-ruby (~> 1.0)
79
- hashdiff (1.0.0.beta1)
92
+ hashdiff (1.0.1)
80
93
  htmlentities (4.3.4)
81
- i18n (1.6.0)
94
+ i18n (1.14.1)
82
95
  concurrent-ruby (~> 1.0)
83
96
  iso8601 (0.9.1)
84
- json (2.2.0)
85
- json-ld (3.0.2)
86
- multi_json (~> 1.12)
87
- rdf (>= 2.2.8, < 4.0)
88
- json-ld-preloaded (3.0.2)
89
- json-ld (~> 3.0)
90
- multi_json (~> 1.12)
91
- rdf (~> 3.0)
92
- jsonlint (0.2.0)
93
- oj (~> 2)
94
- trollop (~> 2)
95
- latex-decode (0.3.1)
97
+ json (2.6.2)
98
+ json-canonicalization (0.3.1)
99
+ json-ld (3.2.4)
100
+ htmlentities (~> 4.3)
101
+ json-canonicalization (~> 0.3)
102
+ link_header (~> 0.0, >= 0.0.8)
103
+ multi_json (~> 1.15)
104
+ rack (>= 2.2, < 4)
105
+ rdf (~> 3.2, >= 3.2.10)
106
+ json-ld-preloaded (3.2.2)
107
+ json-ld (~> 3.2)
108
+ rdf (~> 3.2)
109
+ jsonlint (0.3.0)
110
+ oj (~> 3)
111
+ optimist (~> 3)
112
+ latex-decode (0.4.0)
96
113
  link_header (0.0.8)
97
- loofah (2.2.3)
114
+ loofah (2.21.3)
98
115
  crass (~> 1.0.2)
99
- nokogiri (>= 1.5.9)
100
- maremma (4.2.6)
101
- activesupport (>= 4.2.5, < 6)
116
+ nokogiri (>= 1.12.0)
117
+ maremma (5.0.0)
118
+ activesupport (>= 4.2.5)
102
119
  addressable (>= 2.3.6)
103
120
  builder (~> 3.2, >= 3.2.2)
104
- excon (~> 0.60, < 0.63)
105
- faraday (~> 0.14, < 0.15)
106
- faraday-encoding (~> 0.0.4)
107
- faraday_middleware (~> 0.12.0)
108
- multi_json (~> 1.12)
109
- nokogiri (~> 1.8.1)
121
+ excon (~> 0.71.0)
122
+ faraday (>= 2.0)
123
+ faraday-encoding (~> 0.0.5)
124
+ faraday-excon (~> 2.1.0)
125
+ faraday-follow_redirects (~> 0.3.0)
126
+ faraday-gzip (~> 0.1.0)
127
+ faraday-multipart (~> 1.0.4)
128
+ nokogiri (~> 1.16, >= 1.16.2)
110
129
  oj (>= 2.8.3)
111
- mini_portile2 (2.3.0)
112
- minitest (5.11.3)
113
- multi_json (1.13.1)
114
- multipart-post (2.1.1)
115
- namae (1.0.1)
116
- nokogiri (1.8.5)
117
- mini_portile2 (~> 2.3.0)
118
- oj (2.18.5)
130
+ oj_mimic_json (~> 1.0, >= 1.0.1)
131
+ matrix (0.4.2)
132
+ mini_portile2 (2.8.5)
133
+ minitest (5.18.0)
134
+ multi_json (1.15.0)
135
+ multipart-post (2.3.0)
136
+ namae (1.1.1)
137
+ nokogiri (1.16.2)
138
+ mini_portile2 (~> 2.8.2)
139
+ racc (~> 1.4)
140
+ oj (3.14.2)
141
+ oj_mimic_json (1.0.1)
142
+ optimist (3.0.1)
119
143
  postrank-uri (1.0.24)
120
144
  addressable (>= 2.4.0)
121
145
  nokogiri (>= 1.8.0)
122
146
  public_suffix (>= 2.0.0, < 2.1)
123
147
  public_suffix (2.0.5)
124
- rack (2.0.7)
148
+ racc (1.6.0)
149
+ rack (2.2.4)
125
150
  rack-test (0.8.3)
126
151
  rack (>= 1.0, < 3)
127
- rake (12.3.2)
128
- rdf (3.0.12)
129
- hamster (~> 3.0)
152
+ rake (12.3.3)
153
+ rdf (3.2.11)
130
154
  link_header (~> 0.0, >= 0.0.8)
131
- rdf-aggregate-repo (2.2.1)
132
- rdf (>= 2.2, < 4.0)
133
- rdf-rdfa (3.0.1)
134
- haml (~> 5.0)
155
+ rdf-aggregate-repo (3.2.1)
156
+ rdf (~> 3.2)
157
+ rdf-rdfa (3.2.2)
158
+ haml (>= 5.2, < 7)
135
159
  htmlentities (~> 4.3)
136
- rdf (~> 3.0)
137
- rdf-aggregate-repo (>= 2.2, < 4.0)
138
- rdf-xsd (~> 3.0)
139
- rdf-rdfxml (2.2.1)
160
+ rdf (~> 3.2)
161
+ rdf-aggregate-repo (~> 3.2)
162
+ rdf-vocab (~> 3.2)
163
+ rdf-xsd (~> 3.2)
164
+ rdf-rdfxml (3.2.1)
165
+ haml (~> 5.2)
140
166
  htmlentities (~> 4.3)
141
- rdf (>= 2.2, < 4.0)
142
- rdf-rdfa (>= 2.2, < 4.0)
143
- rdf-xsd (>= 2.2, < 4.0)
144
- rdf-turtle (2.2.2)
145
- ebnf (~> 1.1)
146
- rdf (>= 2.2, < 4.0)
147
- rdf-xsd (3.0.1)
148
- rdf (~> 3.0)
149
- rspec (3.8.0)
150
- rspec-core (~> 3.8.0)
151
- rspec-expectations (~> 3.8.0)
152
- rspec-mocks (~> 3.8.0)
153
- rspec-core (3.8.2)
154
- rspec-support (~> 3.8.0)
155
- rspec-expectations (3.8.4)
167
+ rdf (~> 3.2)
168
+ rdf-rdfa (~> 3.2)
169
+ rdf-xsd (~> 3.2)
170
+ rdf-turtle (3.2.1)
171
+ ebnf (~> 2.3)
172
+ rdf (~> 3.2)
173
+ rdf-vocab (3.2.6)
174
+ rdf (~> 3.2, >= 3.2.4)
175
+ rdf-xsd (3.2.1)
176
+ rdf (~> 3.2)
177
+ rexml (~> 3.2)
178
+ rexml (3.2.5)
179
+ rspec (3.11.0)
180
+ rspec-core (~> 3.11.0)
181
+ rspec-expectations (~> 3.11.0)
182
+ rspec-mocks (~> 3.11.0)
183
+ rspec-core (3.11.0)
184
+ rspec-support (~> 3.11.0)
185
+ rspec-expectations (3.11.1)
156
186
  diff-lcs (>= 1.2.0, < 2.0)
157
- rspec-support (~> 3.8.0)
158
- rspec-mocks (3.8.1)
187
+ rspec-support (~> 3.11.0)
188
+ rspec-mocks (3.11.1)
159
189
  diff-lcs (>= 1.2.0, < 2.0)
160
- rspec-support (~> 3.8.0)
161
- rspec-support (3.8.2)
190
+ rspec-support (~> 3.11.0)
191
+ rspec-support (3.11.1)
162
192
  rspec-xsd (0.1.0)
163
193
  nokogiri (~> 1.6)
164
194
  rspec (~> 3)
165
- safe_yaml (1.0.5)
166
- simplecov (0.13.0)
167
- docile (~> 1.1.0)
195
+ ruby2_keywords (0.0.5)
196
+ scanf (1.0.0)
197
+ simplecov (0.17.1)
198
+ docile (~> 1.1)
168
199
  json (>= 1.8, < 3)
169
200
  simplecov-html (~> 0.10.0)
170
201
  simplecov-html (0.10.2)
171
- sxp (1.0.2)
172
- rdf (~> 3.0)
173
- temple (0.8.1)
174
- thor (0.20.3)
175
- thread_safe (0.3.6)
176
- tilt (2.0.9)
177
- trollop (2.9.9)
178
- tzinfo (1.2.5)
179
- thread_safe (~> 0.1)
202
+ sxp (1.2.4)
203
+ matrix (~> 0.4)
204
+ rdf (~> 3.2)
205
+ temple (0.10.2)
206
+ thor (1.2.2)
207
+ tilt (2.2.0)
208
+ tzinfo (2.0.6)
209
+ concurrent-ruby (~> 1.0)
210
+ unicode-types (1.8.0)
180
211
  unicode_utils (1.4.0)
181
212
  vcr (3.0.3)
182
- webmock (3.6.0)
183
- addressable (>= 2.3.6)
213
+ webmock (3.18.1)
214
+ addressable (>= 2.8.0)
184
215
  crack (>= 0.3.2)
185
216
  hashdiff (>= 0.4.0, < 2.0.0)
217
+ zeitwerk (2.6.8)
218
+ zlib (2.1.1)
186
219
 
187
220
  PLATFORMS
188
221
  ruby
189
222
 
190
223
  DEPENDENCIES
191
224
  bolognese!
192
- bundler (~> 1.0)
193
- codeclimate-test-reporter (~> 1.0, >= 1.0.8)
225
+ bundler (>= 1.0)
226
+ byebug
194
227
  hashdiff (>= 1.0.0.beta1, < 2.0.0)
228
+ json-canonicalization (= 0.3.1)
195
229
  rack-test (~> 0)
196
230
  rake (~> 12.0)
197
231
  rspec (~> 3.4)
198
232
  rspec-xsd (~> 0.1.0)
199
- simplecov (~> 0.1)
233
+ simplecov (= 0.17.1)
200
234
  vcr (~> 3.0, >= 3.0.3)
201
235
  webmock (~> 3.0, >= 3.0.1)
202
236
 
203
237
  BUNDLED WITH
204
- 1.17.3
238
+ 2.5.5
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  [![Identifier](https://img.shields.io/badge/doi-10.5438%2Fn138--z3mk-fca709.svg)](https://doi.org/10.5438/n138-z3mk)
2
2
  [![Gem Version](https://badge.fury.io/rb/bolognese.svg)](https://badge.fury.io/rb/bolognese)
3
- [![Build Status](https://travis-ci.org/datacite/bolognese.svg?branch=master)](https://travis-ci.org/datacite/bolognese)
3
+ ![Build Ruby Gem](https://github.com/datacite/bolognese/workflows/Build%20Ruby%20Gem/badge.svg)
4
4
  [![Code Climate](https://codeclimate.com/github/datacite/bolognese/badges/gpa.svg)](https://codeclimate.com/github/datacite/bolognese)
5
5
  [![Test Coverage](https://codeclimate.com/github/datacite/bolognese/badges/coverage.svg)](https://codeclimate.com/github/datacite/bolognese/coverage)
6
6
 
@@ -8,9 +8,10 @@
8
8
 
9
9
  Ruby gem and command-line utility for conversion of DOI metadata from and to different metadata formats, including [schema.org](https://schema.org).
10
10
 
11
+
11
12
  ## Features
12
13
 
13
- Bolognese reads and/or writes these metadata formats:
14
+ Bolognese reads and/or writes these metadata formats:
14
15
 
15
16
  <table class="table table-bordered table-striped">
16
17
  <thead>
data/bolognese.gemspec CHANGED
@@ -13,44 +13,46 @@ Gem::Specification.new do |s|
13
13
  s.version = Bolognese::VERSION
14
14
  s.extra_rdoc_files = ["README.md"]
15
15
  s.license = 'MIT'
16
- s.required_ruby_version = '~> 2.3'
16
+ s.required_ruby_version = ['>=3.0']
17
17
 
18
- # Declary dependencies here, rather than in the Gemfile
19
- s.add_dependency 'maremma', '>= 3.5.7', '< 5'
20
- s.add_dependency 'nokogiri', '~> 1.8.1'
18
+ # Declare dependencies here, rather than in the Gemfile
19
+ s.add_dependency 'maremma', '~> 5.0'
20
+ #s.add_dependency 'faraday', '~> 0.17.3'
21
+ s.add_dependency 'nokogiri', '~> 1.16', '>= 1.16.2'
21
22
  s.add_dependency 'loofah', '~> 2.0', '>= 2.0.3'
22
23
  s.add_dependency 'builder', '~> 3.2', '>= 3.2.2'
23
- s.add_dependency 'activesupport', '>= 4.2.5', '< 6'
24
- s.add_dependency 'bibtex-ruby', '~> 4.1'
25
- s.add_dependency 'thor', '~> 0.19'
24
+ s.add_dependency 'activesupport', '>= 4.2.5'
25
+ s.add_dependency 'bibtex-ruby', '>= 5.1.0'
26
+ s.add_dependency 'thor', '>= 0.19'
26
27
  s.add_dependency 'colorize', '~> 0.8.1'
27
28
  s.add_dependency 'namae', '~> 1.0'
28
29
  s.add_dependency 'edtf', '~> 3.0', '>= 3.0.4'
29
- s.add_dependency 'citeproc-ruby', '~> 1.1', '>= 1.1.10'
30
- s.add_dependency 'csl-styles', '~> 1.0', '>= 1.0.1.8'
30
+ s.add_dependency 'citeproc-ruby', '~> 1.1', '>= 1.1.12'
31
+ s.add_dependency 'csl-styles', '~> 1.0', '>= 1.0.1.10'
31
32
  s.add_dependency 'iso8601', '~> 0.9.1'
32
33
  s.add_dependency 'postrank-uri', '~> 1.0', '>= 1.0.18'
33
- s.add_dependency 'json-ld-preloaded', '= 3.0.2'
34
- s.add_dependency 'jsonlint', '~> 0.2.0'
35
- s.add_dependency 'oj', '>= 2.8.3'
36
- s.add_dependency 'rdf-turtle', '~> 2.2'
37
- s.add_dependency 'rdf-rdfxml', '~> 2.0'
34
+ s.add_dependency 'json-ld-preloaded', '~> 3.1', '>= 3.1.3'
35
+ s.add_dependency 'jsonlint', '~> 0.3.0'
36
+ s.add_dependency 'oj', '~> 3.10'
37
+ s.add_dependency "oj_mimic_json", "~> 1.0", ">= 1.0.1"
38
+ s.add_dependency 'rdf-turtle', '~> 3.1'
39
+ s.add_dependency 'rdf-rdfxml', '~> 3.1'
38
40
  s.add_dependency 'benchmark_methods', '~> 0.7'
39
41
  s.add_dependency 'gender_detector', '~> 0.1.2'
40
- s.add_dependency 'concurrent-ruby', '~> 1.0.5'
41
- s.add_development_dependency 'bundler', '~> 1.0'
42
+ s.add_dependency 'concurrent-ruby', '~> 1.1', '>= 1.1.5'
43
+ s.add_development_dependency 'bundler', '>= 1.0'
42
44
  s.add_development_dependency 'rspec', '~> 3.4'
43
45
  s.add_development_dependency 'rspec-xsd', '~> 0.1.0'
44
46
  s.add_development_dependency 'rake', '~> 12.0'
45
47
  s.add_development_dependency 'rack-test', '~> 0'
46
48
  s.add_development_dependency 'vcr', '~> 3.0', '>= 3.0.3'
47
49
  s.add_development_dependency 'webmock', '~> 3.0', '>= 3.0.1'
48
- s.add_development_dependency 'codeclimate-test-reporter', '~> 1.0', '>= 1.0.8'
49
- s.add_development_dependency 'simplecov', '~> 0.1'
50
+ s.add_development_dependency 'simplecov', '0.17.1'
50
51
  s.add_development_dependency 'hashdiff', ['>= 1.0.0.beta1', '< 2.0.0']
52
+ s.add_development_dependency 'byebug'
53
+ s.add_development_dependency 'json-canonicalization', '0.3.1'
51
54
 
52
55
  s.require_paths = ["lib"]
53
- s.files = `git ls-files`.split($/)
54
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
56
+ s.files = `git ls-files`.split($/).reject { |f| f.match(%r{^(test|spec|features)/}) }
55
57
  s.executables = ["bolognese"]
56
58
  end
@@ -9,10 +9,13 @@ module Bolognese
9
9
  # benchmark :get_authors
10
10
 
11
11
  IDENTIFIER_SCHEME_URIS = {
12
- "ORCID" => "http://orcid.org/"
12
+ "ORCID" => "https://orcid.org/"
13
13
  }
14
14
 
15
15
  def get_one_author(author)
16
+ # author is a string
17
+ author = { "creatorName" => author } if author.is_a?(String)
18
+
16
19
  # malformed XML
17
20
  return nil if author.fetch("creatorName", nil).is_a?(Array)
18
21
 
@@ -25,23 +28,23 @@ module Bolognese
25
28
  contributor_type = parse_attributes(author.fetch("contributorType", nil))
26
29
 
27
30
  name_type = parse_attributes(author.fetch("creatorName", nil), content: "nameType", first: true) || parse_attributes(author.fetch("contributorName", nil), content: "nameType", first: true)
28
- name_type = family_name.present? ? "Personal" : nil if name_type.blank?
29
31
 
30
32
  name_identifiers = Array.wrap(author.fetch("nameIdentifier", nil)).map do |ni|
33
+ name_identifier = ni["__content__"].strip if ni["__content__"].present?
31
34
  if ni["nameIdentifierScheme"] == "ORCID"
32
- {
33
- "nameIdentifier" => normalize_orcid(ni["__content__"]),
35
+ {
36
+ "nameIdentifier" => normalize_orcid(name_identifier),
34
37
  "schemeUri" => "https://orcid.org",
35
38
  "nameIdentifierScheme" => "ORCID" }.compact
36
- elsif ni["schemeURI"].present?
37
- {
38
- "nameIdentifier" => ni["schemeURI"].to_s + ni["__content__"].to_s,
39
- "schemeUri" => ni["schemeURI"].to_s,
40
- "nameIdentifierScheme" => ni["nameIdentifierScheme"] }.compact
39
+ elsif ni["nameIdentifierScheme"] == "ROR"
40
+ {
41
+ "nameIdentifier" => normalize_ror(name_identifier),
42
+ "schemeUri" => "https://ror.org",
43
+ "nameIdentifierScheme" => "ROR" }.compact
41
44
  else
42
- {
43
- "nameIdentifier" => ni["__content__"],
44
- "schemeUri" => "Other",
45
+ {
46
+ "nameIdentifier" => name_identifier,
47
+ "schemeUri" => ni.fetch("schemeURI", nil),
45
48
  "nameIdentifierScheme" => ni["nameIdentifierScheme"] }.compact
46
49
  end
47
50
  end.presence
@@ -57,6 +60,7 @@ module Bolognese
57
60
  return author if family_name.present?
58
61
 
59
62
  if is_personal_name?(author)
63
+ Namae.options[:include_particle_in_family] = true
60
64
  names = Namae.parse(name)
61
65
  parsed_name = names.first
62
66
 
@@ -73,14 +77,14 @@ module Bolognese
73
77
  "name" => name,
74
78
  "givenName" => given_name,
75
79
  "familyName" => family_name,
76
- "nameIdentifiers" => name_identifiers,
77
- "affiliation" => author.fetch("affiliation", nil),
80
+ "nameIdentifiers" => Array.wrap(name_identifiers),
81
+ "affiliation" => Array.wrap(author.fetch("affiliation", nil)),
78
82
  "contributorType" => contributor_type }.compact
79
83
  else
80
- { "nameType" => name_type,
84
+ { "nameType" => name_type,
81
85
  "name" => name,
82
- "nameIdentifiers" => name_identifiers,
83
- "affiliation" => author.fetch("affiliation", nil),
86
+ "nameIdentifiers" => Array.wrap(name_identifiers),
87
+ "affiliation" => Array.wrap(author.fetch("affiliation", nil)),
84
88
  "contributorType" => contributor_type }.compact
85
89
  end
86
90
  end
@@ -96,7 +100,7 @@ module Bolognese
96
100
 
97
101
  # titleize strings
98
102
  # remove non-standard space characters
99
- author.my_titleize.gsub(/[[:space:]]/, ' ')
103
+ author.gsub(/[[:space:]]/, ' ')
100
104
  end
101
105
 
102
106
  def is_personal_name?(author)
@@ -135,20 +139,40 @@ module Bolognese
135
139
 
136
140
  def get_affiliations(affiliations)
137
141
  Array.wrap(affiliations).map do |a|
142
+ affiliation_identifier = nil
138
143
  if a.is_a?(String)
139
- id = nil
140
144
  name = a.squish
141
145
  affiliation_identifier_scheme = nil
146
+ scheme_uri = nil
142
147
  else
143
- id = a["affiliationIdentifier"]
144
- id = !id.to_s.start_with?("https://") && a["schemeURI"].present? ? normalize_id(a["schemeURI"] + id) : normalize_id(id)
145
- name = a["__content__"].squish
148
+ scheme_uri = a["schemeURI"]
149
+ if a["affiliationIdentifier"].present?
150
+ affiliation_identifier = a["affiliationIdentifier"]
151
+ if a["schemeURI"].present?
152
+ schemeURI = a["schemeURI"].end_with?("/") ? a["schemeURI"] : a["schemeURI"] + "/"
153
+ end
154
+ affiliation_identifier = !affiliation_identifier.to_s.start_with?("https://") && schemeURI.present? ? normalize_id(schemeURI + affiliation_identifier) : normalize_id(affiliation_identifier)
155
+ # The normalize_id(affiliation_identifier) method currently discards affiliation identifiers that don't start with a URL,
156
+ # for example: affiliation_identifier = "05bp8ka05".
157
+ # To address this issue, we are introducing the following change to handle such affiliation identifiers.
158
+ # when `normalize_id` method could not normalize, it returns nil, hence we have following condition
159
+ if affiliation_identifier.nil?
160
+ if a["affiliationIdentifierScheme"] == "ROR"
161
+ scheme_uri = "https://ror.org"
162
+ affiliation_identifier = normalize_ror(a["affiliationIdentifier"])
163
+ else
164
+ affiliation_identifier = a["affiliationIdentifier"]
165
+ end
166
+ end
167
+ end
168
+ name = a["__content__"].to_s.squish.presence
146
169
  affiliation_identifier_scheme = a["affiliationIdentifierScheme"]
147
170
  end
148
171
 
149
- { "id" => id,
150
- "name" => name,
151
- "affiliationIdentifierScheme" => affiliation_identifier_scheme }.compact
172
+ { "name" => name,
173
+ "affiliationIdentifier" => affiliation_identifier,
174
+ "affiliationIdentifierScheme" => affiliation_identifier_scheme,
175
+ "schemeUri" => scheme_uri }.compact
152
176
  end.presence
153
177
  end
154
178
  end
data/lib/bolognese/cli.rb CHANGED
@@ -29,18 +29,20 @@ module Bolognese
29
29
  method_option :regenerate, :type => :boolean, :force => false
30
30
  method_option :style, aliases: "-s", default: "apa"
31
31
  method_option :locale, aliases: "-l", default: "en-US"
32
+ method_option :show_errors, :type => :boolean, :force => false
32
33
  def convert(input)
33
34
  metadata = Metadata.new(input: input,
34
35
  from: options[:from],
35
36
  regenerate: options[:regenerate],
36
37
  style: options[:style],
37
- locale: options[:locale])
38
+ locale: options[:locale],
39
+ show_errors: options[:show_errors])
38
40
  to = options[:to] || "schema_org"
39
41
 
40
- if metadata.valid?
41
- puts metadata.send(to)
42
- else
42
+ if options[:show_errors] && !metadata.valid?
43
43
  $stderr.puts metadata.errors
44
+ else
45
+ puts metadata.send(to)
44
46
  end
45
47
  end
46
48