briard 2.2.7 → 2.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (483) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/build.yml +2 -2
  3. data/.github/workflows/release.yml +2 -2
  4. data/CHANGELOG.md +16 -0
  5. data/Gemfile.lock +78 -79
  6. data/bolognese.gemspec +3 -2
  7. data/lib/briard/cli.rb +5 -0
  8. data/lib/briard/metadata.rb +2 -2
  9. data/lib/briard/readers/schema_org_reader.rb +30 -9
  10. data/lib/briard/utils.rb +25 -7
  11. data/lib/briard/version.rb +1 -1
  12. data/lib/briard.rb +1 -0
  13. data/spec/author_utils_spec.rb +3 -6
  14. data/spec/cli_spec.rb +9 -1
  15. data/spec/datacite_utils_spec.rb +3 -3
  16. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/default.yml +17 -16
  17. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_bibtex.yml +17 -16
  18. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_citation.yml +17 -16
  19. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_crossref.yml +17 -16
  20. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_datacite.yml +17 -16
  21. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_jats.yml +17 -16
  22. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_schema_org.yml +17 -16
  23. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/default.yml +31 -18
  24. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_bibtex.yml +31 -18
  25. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_citation.yml +31 -18
  26. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_datacite.yml +31 -18
  27. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_datacite_json.yml +31 -18
  28. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_jats.yml +31 -18
  29. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_schema_org.yml +31 -18
  30. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/schema_org/default.yml +55 -66
  31. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/schema_org/to_datacite.yml +55 -66
  32. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/schema_org/to_schema_org.yml +55 -66
  33. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/crossref.yml +9 -8
  34. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/datacite.yml +9 -8
  35. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/jalc.yml +9 -8
  36. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/kisti.yml +9 -8
  37. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/medra.yml +9 -8
  38. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/op.yml +9 -8
  39. data/spec/fixtures/vcr_cassettes/Briard_Metadata/authors_as_string/author.yml +7 -7
  40. data/spec/fixtures/vcr_cassettes/Briard_Metadata/authors_as_string/no_author.yml +7 -7
  41. data/spec/fixtures/vcr_cassettes/Briard_Metadata/authors_as_string/single_author.yml +7 -7
  42. data/spec/fixtures/vcr_cassettes/Briard_Metadata/authors_as_string/with_organization.yml +7 -7
  43. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_datacite_metadata/change_state.yml +31 -18
  44. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_datacite_metadata/change_title.yml +31 -18
  45. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_metadata_as_datacite_xml/change_description.yml +8 -8
  46. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_metadata_as_datacite_xml/change_identifiers.yml +8 -8
  47. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_metadata_as_datacite_xml/change_license.yml +8 -8
  48. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_metadata_as_datacite_xml/change_license_name.yml +8 -8
  49. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_metadata_as_datacite_xml/change_license_url.yml +8 -8
  50. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_metadata_as_datacite_xml/change_state.yml +8 -8
  51. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_metadata_as_datacite_xml/validates_against_schema.yml +8 -8
  52. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_metadata_as_datacite_xml/with_data_citation.yml +8 -8
  53. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_api_url/doi.yml +7 -7
  54. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_api_url/doi_with_protocol.yml +7 -7
  55. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_api_url/dx_doi_org_url.yml +7 -7
  56. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_api_url/force_test_resolver.yml +7 -7
  57. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_api_url/https_url.yml +7 -7
  58. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_api_url/test_resolver.yml +7 -7
  59. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_api_url/test_resolver_http.yml +7 -7
  60. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_from_url/doi.yml +7 -7
  61. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_from_url/doi_with_special_characters.yml +7 -7
  62. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_from_url/not_a_doi.yml +7 -7
  63. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_from_url/sandbox_url.yml +7 -7
  64. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_from_url/url.yml +7 -7
  65. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/crossref.yml +16 -15
  66. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/datacite.yml +16 -15
  67. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/jalc.yml +16 -15
  68. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/kisti.yml +16 -15
  69. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/medra.yml +16 -15
  70. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/not_a_valid_prefix.yml +7 -7
  71. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/not_found.yml +16 -15
  72. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/op.yml +16 -15
  73. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_resolver/doi.yml +7 -7
  74. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_resolver/doi_with_protocol.yml +7 -7
  75. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_resolver/dx_doi_org_url.yml +7 -7
  76. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_resolver/force_stage_resolver.yml +7 -7
  77. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_resolver/https_url.yml +7 -7
  78. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_resolver/stage_resolver.yml +7 -7
  79. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_resolver/stage_resolver_http.yml +7 -7
  80. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/crossref.yml +40 -26
  81. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/crossref_doi_not_url.yml +40 -26
  82. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/datacite.yml +40 -26
  83. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/datacite_doi_http.yml +40 -26
  84. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/github.yml +31 -18
  85. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/orcid.yml +31 -18
  86. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/schema_org.yml +31 -18
  87. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/unknown_DOI_registration_agency.yml +40 -26
  88. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_file/bibtex.yml +31 -18
  89. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_file/citeproc.yml +31 -18
  90. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_file/codemeta.yml +31 -18
  91. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_file/crosscite.yml +31 -18
  92. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_file/crossref.yml +31 -18
  93. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_file/datacite.yml +31 -18
  94. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_file/datacite_json.yml +31 -18
  95. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_file/ris.yml +31 -18
  96. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_file/schema_org.yml +31 -18
  97. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_string/crosscite.yml +31 -18
  98. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/hsh_to_fos_for_match.yml +7 -7
  99. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/hsh_to_fos_for_with_schemeUri_in_hash.yml +7 -7
  100. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/hsh_to_fos_match.yml +7 -7
  101. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/hsh_to_fos_no_match.yml +7 -7
  102. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/name_to_fos_for_match.yml +7 -7
  103. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/name_to_fos_match.yml +7 -7
  104. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/name_to_fos_no_match.yml +7 -7
  105. data/spec/fixtures/vcr_cassettes/Briard_Metadata/from_schema_org/with_id.yml +7 -7
  106. data/spec/fixtures/vcr_cassettes/Briard_Metadata/from_schema_org_creators/with_affiliation.yml +7 -7
  107. data/spec/fixtures/vcr_cassettes/Briard_Metadata/from_schema_org_creators/without_affiliation.yml +7 -7
  108. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/cff-converter-python.yml +8 -8
  109. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/ruby-cff.yml +8 -8
  110. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/ruby-cff_repository_url.yml +8 -8
  111. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_codemeta_metadata/maremma.yml +11 -11
  112. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_codemeta_metadata/metadata_reports.yml +8 -8
  113. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/DOI_with_ORCID_ID.yml +17 -16
  114. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/DOI_with_SICI_DOI.yml +17 -16
  115. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/DOI_with_data_citation.yml +17 -16
  116. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/JaLC.yml +17 -16
  117. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/KISTI.yml +17 -16
  118. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/OP.yml +17 -16
  119. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/affiliation_is_space.yml +17 -16
  120. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/another_book.yml +16 -15
  121. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/another_book_chapter.yml +17 -16
  122. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/article_id_as_page_number.yml +17 -16
  123. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/author_literal.yml +17 -16
  124. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/book.yml +17 -16
  125. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/book_chapter.yml +16 -15
  126. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/book_chapter_with_RDF_for_container.yml +16 -15
  127. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/book_oup.yml +17 -16
  128. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/component.yml +16 -15
  129. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/dataset.yml +16 -15
  130. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/dataset_usda.yml +17 -16
  131. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/date_in_future.yml +16 -15
  132. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/dissertation.yml +16 -15
  133. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/empty_given_name.yml +16 -15
  134. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/invalid_date.yml +16 -15
  135. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_article.yml +17 -16
  136. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_article_original_language_title.yml +17 -16
  137. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_article_with.yml +16 -15
  138. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_article_with_RDF_for_container.yml +16 -15
  139. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_article_with_funding.yml +16 -15
  140. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_issue.yml +17 -16
  141. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/mEDRA.yml +16 -15
  142. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/markup.yml +17 -16
  143. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/missing_creator.yml +16 -15
  144. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/multiple_issn.yml +16 -15
  145. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/multiple_titles.yml +17 -16
  146. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/multiple_titles_with_missing.yml +16 -15
  147. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/not_found_error.yml +15 -16
  148. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/peer_review.yml +16 -15
  149. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/posted_content.yml +16 -15
  150. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/posted_content_copernicus.yml +17 -16
  151. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/report_osti.yml +17 -16
  152. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/vor_with_url.yml +16 -15
  153. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/yet_another_book.yml +16 -15
  154. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/yet_another_book_chapter.yml +16 -15
  155. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_json_metadata/metadata_from_api.yml +31 -18
  156. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/BlogPosting.yml +31 -18
  157. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/DOI_in_staging_system.yml +31 -18
  158. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/DOI_in_staging_system_schema_3.yml +31 -18
  159. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/DOI_in_with_related_id_system.yml +31 -18
  160. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/DOI_not_found.yml +30 -17
  161. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/Dataset.yml +31 -18
  162. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/Funding.yml +31 -18
  163. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/Funding_empty_awardTitle.yml +31 -18
  164. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/Funding_schema_version_4.yml +31 -18
  165. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/Referee_report_in_staging_system.yml +31 -18
  166. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/Schema_org_type.yml +31 -18
  167. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/author_only_full_name.yml +31 -18
  168. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/author_with_scheme.yml +31 -18
  169. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/author_with_wrong_orcid_scheme.yml +31 -18
  170. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/cc-by_3_0_us.yml +31 -18
  171. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/content_url.yml +31 -18
  172. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/date.yml +31 -18
  173. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/dissertation.yml +31 -18
  174. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/doi_with_sign.yml +31 -18
  175. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/empty_subject.yml +31 -18
  176. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/even_more_subject_scheme_FOR.yml +31 -18
  177. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/funding_references.yml +31 -18
  178. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/funding_schema_version_3.yml +31 -18
  179. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/is_identical_to.yml +31 -18
  180. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/keywords_with_attributes.yml +31 -18
  181. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/leading_and_trailing_whitespace.yml +31 -18
  182. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/more_subject_scheme_FOR.yml +31 -18
  183. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/multiple_author_names_in_one_creatorsName.yml +31 -18
  184. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/multiple_licenses.yml +31 -18
  185. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/series-information.yml +31 -18
  186. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/subject_scheme.yml +31 -18
  187. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/subject_scheme_FOR.yml +31 -18
  188. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date/publication_date.yml +7 -7
  189. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_date_parts/date.yml +7 -7
  190. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_date_parts/year-month.yml +7 -7
  191. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_date_parts/year.yml +7 -7
  192. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_parts/date.yml +7 -7
  193. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_parts/year-month.yml +7 -7
  194. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_parts/year.yml +7 -7
  195. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_parts/date.yml +7 -7
  196. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_parts/year-month.yml +7 -7
  197. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_parts/year.yml +7 -7
  198. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datetime_from_time/future.yml +7 -7
  199. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datetime_from_time/invalid.yml +7 -7
  200. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datetime_from_time/nil.yml +7 -7
  201. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datetime_from_time/past.yml +7 -7
  202. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datetime_from_time/present.yml +7 -7
  203. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/has_familyName.yml +22 -10
  204. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/has_name_in_Thai.yml +22 -10
  205. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/has_name_in_display-order.yml +22 -10
  206. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/has_name_in_display-order_with_ORCID.yml +22 -10
  207. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/has_name_in_sort-order.yml +22 -10
  208. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/hyper-authorship.yml +22 -10
  209. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/is_organization.yml +7 -7
  210. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/multiple_author_names_in_one_field.yml +22 -10
  211. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/multiple_name_identifier.yml +22 -10
  212. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/name_with_affiliation.yml +22 -10
  213. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/name_with_affiliation_and_country.yml +7 -7
  214. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/name_with_role.yml +22 -10
  215. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/only_familyName_and_givenName.yml +13 -8
  216. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/BlogPosting.yml +105 -26
  217. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/BlogPosting_with_new_DOI.yml +105 -26
  218. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/get_schema_org_metadata_front_matter/BlogPosting.yml +105 -26
  219. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/harvard_dataverse.yml +9 -7
  220. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/pangaea.yml +13 -8
  221. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/zenodo.yml +9 -9
  222. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_series_information/only_title.yml +7 -7
  223. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_series_information/title_and_pages.yml +7 -7
  224. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_series_information/title_volume_and_pages.yml +7 -7
  225. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_series_information/title_volume_issue_and_pages.yml +7 -7
  226. data/spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_as_cff_url.yml +7 -7
  227. data/spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_as_codemeta_url.yml +7 -7
  228. data/spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_from_url.yml +7 -7
  229. data/spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_from_url_cff_file.yml +7 -7
  230. data/spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_from_url_file.yml +7 -7
  231. data/spec/fixtures/vcr_cassettes/Briard_Metadata/handle_input/DOI_RA_not_Crossref_or_DataCite.yml +9 -8
  232. data/spec/fixtures/vcr_cassettes/Briard_Metadata/handle_input/unknown_DOI_prefix.yml +9 -8
  233. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_contributors/none.yml +22 -10
  234. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_creators/insert.yml +22 -10
  235. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_dates/insert.yml +22 -10
  236. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_descriptions/insert.yml +22 -10
  237. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_identifier/doi.yml +22 -10
  238. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_language/insert.yml +22 -10
  239. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_person/creator_only_name.yml +22 -10
  240. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_publication_year/insert.yml +22 -10
  241. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_publisher/insert.yml +22 -10
  242. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_related_identifiers/insert.yml +22 -10
  243. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_related_identifiers/related_identifier.yml +22 -10
  244. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_resource_type/insert.yml +22 -10
  245. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_rights_list/insert.yml +22 -10
  246. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_sizes/insert.yml +22 -10
  247. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_subjects/insert.yml +22 -10
  248. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_titles/insert.yml +22 -10
  249. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_version/insert.yml +22 -10
  250. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_comma.yml +7 -7
  251. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_family_name.yml +7 -7
  252. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_id.yml +7 -7
  253. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_known_given_name.yml +7 -7
  254. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_no_info.yml +7 -7
  255. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_orcid_id.yml +7 -7
  256. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_type_organization.yml +7 -7
  257. data/spec/fixtures/vcr_cassettes/Briard_Metadata/jsonlint/missing_comma.yml +31 -18
  258. data/spec/fixtures/vcr_cassettes/Briard_Metadata/jsonlint/nil.yml +31 -18
  259. data/spec/fixtures/vcr_cassettes/Briard_Metadata/jsonlint/overlapping_keys.yml +31 -18
  260. data/spec/fixtures/vcr_cassettes/Briard_Metadata/jsonlint/valid.yml +31 -18
  261. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_cc_url/not_found.yml +7 -7
  262. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_cc_url/with_trailing_slash.yml +7 -7
  263. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_cc_url/with_trailing_slash_and_to_https.yml +7 -7
  264. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/SICI_doi.yml +7 -7
  265. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/doi.yml +7 -7
  266. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/doi_force_datacite_sandbox.yml +7 -7
  267. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/doi_from_datacite_sandbox.yml +7 -7
  268. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/doi_from_url_without_doi_proxy.yml +7 -7
  269. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/doi_prefix_too_long.yml +7 -7
  270. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/doi_prefix_with_string.yml +7 -7
  271. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/doi_with_protocol.yml +7 -7
  272. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/dx_doi_org_url.yml +7 -7
  273. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/https_url.yml +7 -7
  274. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/not_valid_doi_prefix.yml +7 -7
  275. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/url_with_one_slash.yml +7 -7
  276. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/doi.yml +7 -7
  277. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/doi_as_url.yml +7 -7
  278. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/ftp.yml +7 -7
  279. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/invalid_url.yml +7 -7
  280. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/sandbox_via_options.yml +7 -7
  281. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/sandbox_via_url.yml +7 -7
  282. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/string.yml +7 -7
  283. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/url.yml +7 -7
  284. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/url_with_utf-8.yml +7 -7
  285. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_ids/doi.yml +7 -7
  286. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_ids/url.yml +7 -7
  287. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_issn/from_array.yml +7 -7
  288. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_issn/from_empty_array.yml +7 -7
  289. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_issn/from_hash.yml +7 -7
  290. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_issn/from_string.yml +7 -7
  291. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_url/uri.yml +7 -7
  292. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_url/with_trailing_slash.yml +7 -7
  293. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_url/with_trailing_slash_and_to_https.yml +7 -7
  294. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/array.yml +7 -7
  295. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/array_of_strings.yml +7 -7
  296. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/first.yml +7 -7
  297. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/hash.yml +7 -7
  298. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/nil.yml +7 -7
  299. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/string.yml +7 -7
  300. data/spec/fixtures/vcr_cassettes/Briard_Metadata/random_doi/decode_anothe_doi.yml +65 -0
  301. data/spec/fixtures/vcr_cassettes/Briard_Metadata/random_doi/decode_doi.yml +65 -0
  302. data/spec/fixtures/vcr_cassettes/Briard_Metadata/random_doi/encode_doi.yml +65 -0
  303. data/spec/fixtures/vcr_cassettes/Briard_Metadata/sanitize/should_only_keep_specific_tags.yml +7 -7
  304. data/spec/fixtures/vcr_cassettes/Briard_Metadata/sanitize/should_remove_a_tags.yml +7 -7
  305. data/spec/fixtures/vcr_cassettes/Briard_Metadata/spdx/hsh_to_spdx_id.yml +7 -7
  306. data/spec/fixtures/vcr_cassettes/Briard_Metadata/spdx/hsh_to_spdx_not_found.yml +7 -7
  307. data/spec/fixtures/vcr_cassettes/Briard_Metadata/spdx/hsh_to_spdx_url.yml +7 -7
  308. data/spec/fixtures/vcr_cassettes/Briard_Metadata/spdx/name_to_spdx_exists.yml +7 -7
  309. data/spec/fixtures/vcr_cassettes/Briard_Metadata/spdx/name_to_spdx_id.yml +7 -7
  310. data/spec/fixtures/vcr_cassettes/Briard_Metadata/to_schema_org/with_id.yml +7 -7
  311. data/spec/fixtures/vcr_cassettes/Briard_Metadata/to_schema_org_identifiers/with_identifiers.yml +7 -7
  312. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_doi/doi.yml +7 -7
  313. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_10.yml +7 -7
  314. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_11.yml +7 -7
  315. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_12.yml +7 -7
  316. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_13.yml +7 -7
  317. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_14.yml +7 -7
  318. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_4.yml +7 -7
  319. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_5.yml +7 -7
  320. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_6.yml +7 -7
  321. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_7.yml +7 -7
  322. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_8.yml +7 -7
  323. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_9.yml +7 -7
  324. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/funder_doi.yml +7 -7
  325. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/funder_doi_without_prefix.yml +7 -7
  326. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/non-funder_doi.yml +7 -7
  327. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid.yml +7 -7
  328. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_https.yml +7 -7
  329. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_id.yml +7 -7
  330. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_sandbox.yml +7 -7
  331. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_sandbox_https.yml +7 -7
  332. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_with_spaces.yml +7 -7
  333. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_wrong_id.yml +7 -7
  334. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_www.yml +7 -7
  335. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid_scheme/validate_orcid_scheme.yml +7 -7
  336. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid_scheme/validate_orcid_scheme_https.yml +7 -7
  337. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid_scheme/validate_orcid_scheme_trailing_slash.yml +7 -7
  338. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid_scheme/validate_orcid_scheme_www.yml +7 -7
  339. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_prefix/doi.yml +7 -7
  340. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_prefix/doi_as_url.yml +7 -7
  341. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_prefix/doi_with_protocol.yml +7 -7
  342. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_prefix/only_prefix.yml +7 -7
  343. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_url/DOI.yml +7 -7
  344. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_url/ISSN.yml +7 -7
  345. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_url/URL.yml +7 -7
  346. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_url/string.yml +7 -7
  347. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/BlogPosting.yml +22 -10
  348. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/Dataset.yml +22 -10
  349. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/authors_with_affiliations.yml +7 -7
  350. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/climate_data.yml +22 -10
  351. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/from_schema_org.yml +83 -66
  352. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/keywords_subject_scheme.yml +22 -10
  353. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/maremma.yml +9 -9
  354. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/text.yml +22 -10
  355. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/with_data_citation.yml +8 -8
  356. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/with_pages.yml +8 -8
  357. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_cff/Collection_of_Jupyter_notebooks.yml +22 -10
  358. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_cff/SoftwareSourceCode_Zenodo.yml +22 -10
  359. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_cff/SoftwareSourceCode_also_Zenodo.yml +22 -10
  360. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_cff/ruby-cff.yml +11 -11
  361. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/Dataset.yml +22 -10
  362. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/Journal_article.yml +8 -8
  363. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/Journal_article_vancouver_style.yml +8 -8
  364. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/Missing_author.yml +7 -7
  365. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/interactive_resource_without_dates.yml +22 -10
  366. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/software_w/version.yml +22 -10
  367. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/Another_dataset.yml +22 -10
  368. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/BlogPosting.yml +22 -10
  369. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/BlogPosting_schema_org.yml +83 -66
  370. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/Dataset.yml +22 -10
  371. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/container_title.yml +22 -10
  372. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/interactive_resource_without_dates.yml +22 -10
  373. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/journal_article.yml +8 -8
  374. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/keywords_subject_scheme.yml +22 -10
  375. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/maremma.yml +10 -10
  376. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/missing_creator.yml +7 -7
  377. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/multiple_abstracts.yml +22 -10
  378. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/organization_author.yml +8 -8
  379. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/software.yml +22 -10
  380. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/software_w/version.yml +22 -10
  381. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/with_only_first_page.yml +7 -7
  382. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/with_pages.yml +8 -8
  383. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml +22 -10
  384. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite_check_codemeta_v2.yml +22 -10
  385. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crosscite/datacite_database_attributes.yml +22 -10
  386. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crosscite/maremma.yml +10 -10
  387. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crosscite/with_ORCID_ID.yml +8 -8
  388. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crosscite/with_data_citation.yml +8 -8
  389. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crosscite/with_data_citation_schema_org.yml +55 -66
  390. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/another_schema_org_from_front-matter.yml +134 -0
  391. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/journal_article_from_datacite.yml +73 -0
  392. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/posted_content.yml +17 -16
  393. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/schema_org_from_front_matter.yml +106 -27
  394. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/schema_org_from_zenodo.yml +62 -0
  395. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csv/climate_data.yml +22 -10
  396. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csv/maremma.yml +9 -9
  397. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csv/text.yml +22 -10
  398. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csv/with_data_citation.yml +8 -8
  399. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csv/with_pages.yml +8 -8
  400. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_json/from_schema_org.yml +134 -0
  401. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_json/maremma.yml +11 -11
  402. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_json/with_ORCID_ID.yml +8 -8
  403. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_json/with_data_citation.yml +8 -8
  404. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_json/with_data_citation_schema_org.yml +57 -66
  405. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/DOI_not_found.yml +21 -9
  406. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/Dataset_in_schema_4_0.yml +22 -10
  407. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/Text_pass-thru.yml +22 -10
  408. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/Text_pass-thru_with_doi_in_options.yml +22 -10
  409. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/maremma.yml +9 -9
  410. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/with_ORCID_ID.yml +8 -8
  411. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/with_data_citation.yml +8 -8
  412. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/with_data_citation_schema_org.yml +55 -66
  413. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/with_editor.yml +8 -8
  414. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/with_version.yml +22 -10
  415. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/Dataset_in_schema_4_0.yml +22 -10
  416. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/Text_pass-thru.yml +22 -10
  417. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/book_chapter.yml +8 -8
  418. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/from_schema_org.yml +134 -0
  419. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/interactive_resource_without_dates.yml +22 -10
  420. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/maremma.yml +9 -9
  421. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/with_ORCID_ID.yml +8 -8
  422. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/with_data_citation.yml +8 -8
  423. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/with_data_citation_schema_org.yml +55 -66
  424. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/with_editor.yml +8 -8
  425. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_rdf_xml/BlogPosting.yml +22 -10
  426. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_rdf_xml/BlogPosting_schema_org.yml +83 -66
  427. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_rdf_xml/journal_article.yml +8 -8
  428. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_rdf_xml/maremma.yml +9 -9
  429. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_rdf_xml/with_pages.yml +8 -8
  430. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/BlogPosting.yml +22 -10
  431. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/BlogPosting_schema_org.yml +83 -66
  432. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/Dataset.yml +22 -10
  433. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/alternate_name.yml +22 -10
  434. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/journal_article.yml +8 -8
  435. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/keywords_with_subject_scheme.yml +22 -10
  436. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/maremma.yml +9 -9
  437. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/with_pages.yml +8 -8
  438. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Another_Schema_org_JSON.yml +73 -0
  439. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Funding.yml +31 -18
  440. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Funding_OpenAIRE.yml +31 -18
  441. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Schema_org_JSON.yml +22 -10
  442. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Schema_org_JSON_Cyark.yml +31 -18
  443. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Schema_org_JSON_IsSupplementTo.yml +31 -18
  444. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Schema_org_JSON_isReferencedBy.yml +22 -10
  445. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/alternate_identifiers.yml +22 -10
  446. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/data_catalog.yml +22 -10
  447. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/geo_location_box.yml +22 -10
  448. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/interactive_resource_without_dates.yml +22 -10
  449. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/journal_article.yml +8 -8
  450. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/maremma_schema_org_JSON.yml +9 -9
  451. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/series_information.yml +22 -10
  452. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/subject_scheme.yml +22 -10
  453. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/subject_scheme_multiple_keywords.yml +22 -10
  454. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_turtle/BlogPosting.yml +22 -10
  455. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_turtle/BlogPosting_schema_org.yml +83 -66
  456. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_turtle/Dataset.yml +22 -10
  457. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_turtle/journal_article.yml +8 -8
  458. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_turtle/with_pages.yml +8 -8
  459. data/spec/metadata_spec.rb +1 -1
  460. data/spec/readers/cff_reader_spec.rb +9 -9
  461. data/spec/readers/codemeta_reader_spec.rb +1 -1
  462. data/spec/readers/crossref_reader_spec.rb +7 -7
  463. data/spec/readers/datacite_json_reader_spec.rb +1 -1
  464. data/spec/readers/datacite_reader_spec.rb +16 -16
  465. data/spec/readers/schema_org_reader_spec.rb +25 -80
  466. data/spec/utils_spec.rb +30 -5
  467. data/spec/writers/bibtex_writer_spec.rb +7 -7
  468. data/spec/writers/cff_writer_spec.rb +2 -2
  469. data/spec/writers/citeproc_writer_spec.rb +6 -6
  470. data/spec/writers/crosscite_writer_spec.rb +1 -12
  471. data/spec/writers/crossref_writer_spec.rb +44 -17
  472. data/spec/writers/datacite_json_writer_spec.rb +11 -5
  473. data/spec/writers/datacite_writer_spec.rb +5 -15
  474. data/spec/writers/jats_writer_spec.rb +8 -7
  475. data/spec/writers/rdf_xml_writer_spec.rb +7 -7
  476. data/spec/writers/ris_writer_spec.rb +14 -14
  477. data/spec/writers/schema_org_writer_spec.rb +5 -6
  478. data/spec/writers/turtle_writer_spec.rb +3 -2
  479. metadata +36 -11
  480. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/pidgraph-notebooks-python.yml +0 -75
  481. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/BlogPosting_yet_another_URL.yml +0 -55
  482. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_cff/SoftwareSourceCode_DataCite.yml +0 -61
  483. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/schema_org_from_datacite.yml +0 -117
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 16f426f7b61be02c4b4a0d664f569d6d32fe5ec2b1312d9c8edc03fa8142a436
4
- data.tar.gz: eb1ad799a70ef921c15199a8fa553dcbfe05ab20536b552253f8fdf9a1ada210
3
+ metadata.gz: e5551f81ddd5719472a0b2efb437f488ed24af0fc7b18b4ab1265900776e380b
4
+ data.tar.gz: 80e941f2f7c7aee42abd8b5261afc1458b8075c1556b6edf7534e8c64214bd26
5
5
  SHA512:
6
- metadata.gz: c194da9aaff9bc350a958714771855adb3567dea67f0b8fc08e89f32a82a59ef57bec73b38b420f5ef40b767b45ed93f50b4fad8ab1e8d84a33770f019d7f398
7
- data.tar.gz: b317859eec9a40f4776a01c2f126a43e504df52c0f6dfd8d0358c0b4b9346e4334a0b3a0cfafde6cbdd435e330528562f61d83668b36762e9bb6479767564ed5
6
+ metadata.gz: e962a96f2ff74d31a14cf69fae2d41e65da70082654d9b0760ebb3a4fb18f42eccc17d72a4c5a451009a1f035d5c09c250dc46da99cfedfa2c7d7833e0da454f
7
+ data.tar.gz: a9139e6c64f3de0c703715267763441896021c81e8088bbe35d02105417276584db851d786361d66a4dc1b2aa91639477f34739f6b7455f959ad766f69de6783
@@ -11,10 +11,10 @@ jobs:
11
11
  SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
12
12
  steps:
13
13
  - uses: actions/checkout@v2
14
- - name: Set up Ruby 2.6
14
+ - name: Set up Ruby 2.7
15
15
  uses: actions/setup-ruby@v1
16
16
  with:
17
- ruby-version: 2.6.x
17
+ ruby-version: 2.7.x
18
18
 
19
19
  - name: Build and test
20
20
  run: |
@@ -10,10 +10,10 @@ jobs:
10
10
  SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
11
11
  steps:
12
12
  - uses: actions/checkout@v2
13
- - name: Set up Ruby 2.6
13
+ - name: Set up Ruby 2.7
14
14
  uses: actions/setup-ruby@v1
15
15
  with:
16
- ruby-version: 2.6.x
16
+ ruby-version: 2.7.x
17
17
 
18
18
  - name: Build and test
19
19
  run: |
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## [v2.3.1](https://github.com/front-matter/briard/tree/v2.3.1) (2022-08-14)
4
+
5
+ [Full Changelog](https://github.com/front-matter/briard/compare/v.2.3...v2.3.1)
6
+
7
+ ## [v.2.3](https://github.com/front-matter/briard/tree/v.2.3) (2022-06-19)
8
+
9
+ [Full Changelog](https://github.com/front-matter/briard/compare/v2.2.9...v.2.3)
10
+
11
+ ## [v2.2.9](https://github.com/front-matter/briard/tree/v2.2.9) (2022-06-19)
12
+
13
+ [Full Changelog](https://github.com/front-matter/briard/compare/v2.2.7...v2.2.9)
14
+
15
+ ## [v2.2.7](https://github.com/front-matter/briard/tree/v2.2.7) (2021-12-23)
16
+
17
+ [Full Changelog](https://github.com/front-matter/briard/compare/v2.2.6...v2.2.7)
18
+
3
19
  ## [v2.2.6](https://github.com/front-matter/briard/tree/v2.2.6) (2021-12-23)
4
20
 
5
21
  [Full Changelog](https://github.com/front-matter/briard/compare/v2.2.5...v2.2.6)
data/Gemfile.lock CHANGED
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- briard (2.2.7)
4
+ briard (2.4)
5
5
  activesupport (>= 4.2.5)
6
+ base32-url (>= 0.5.0, < 1)
6
7
  benchmark_methods (~> 0.7)
7
8
  bibtex-ruby (>= 5.1.0)
8
9
  builder (~> 3.2, >= 3.2.2)
@@ -18,9 +19,9 @@ PATH
18
19
  json-ld-preloaded (~> 3.1, >= 3.1.3)
19
20
  jsonlint (~> 0.3.0)
20
21
  loofah (~> 2.0, >= 2.0.3)
21
- maremma (>= 4.9.5, < 5)
22
+ maremma (>= 4.9.7, < 5)
22
23
  namae (~> 1.0)
23
- nokogiri (~> 1.11.2)
24
+ nokogiri (~> 1.13.1)
24
25
  oj (~> 3.10)
25
26
  oj_mimic_json (~> 1.0, >= 1.0.1)
26
27
  postrank-uri (~> 1.0, >= 1.0.18)
@@ -32,15 +33,15 @@ PATH
32
33
  GEM
33
34
  remote: https://rubygems.org/
34
35
  specs:
35
- activesupport (6.1.4.4)
36
+ activesupport (7.0.3.1)
36
37
  concurrent-ruby (~> 1.0, >= 1.0.2)
37
38
  i18n (>= 1.6, < 2)
38
39
  minitest (>= 5.1)
39
40
  tzinfo (~> 2.0)
40
- zeitwerk (~> 2.3)
41
- addressable (2.8.0)
42
- public_suffix (>= 2.0.2, < 5.0)
41
+ addressable (2.8.1)
42
+ public_suffix (>= 2.0.2, < 6.0)
43
43
  amazing_print (1.4.0)
44
+ base32-url (0.5)
44
45
  benchmark_methods (0.7)
45
46
  bibtex-ruby (6.0.0)
46
47
  latex-decode (~> 0.0)
@@ -51,7 +52,7 @@ GEM
51
52
  citeproc (~> 1.0, >= 1.0.9)
52
53
  csl (~> 1.6)
53
54
  colorize (0.8.1)
54
- concurrent-ruby (1.1.9)
55
+ concurrent-ruby (1.1.10)
55
56
  crack (0.4.5)
56
57
  rexml
57
58
  crass (1.0.6)
@@ -62,18 +63,18 @@ GEM
62
63
  csl (~> 1.0)
63
64
  diff-lcs (1.5.0)
64
65
  docile (1.4.0)
65
- dotenv (2.7.6)
66
- ebnf (2.2.1)
67
- amazing_print (~> 1.2)
66
+ dotenv (2.8.1)
67
+ ebnf (2.3.1)
68
+ amazing_print (~> 1.4)
68
69
  htmlentities (~> 4.3)
69
- rdf (~> 3.1)
70
+ rdf (~> 3.2)
70
71
  scanf (~> 1.0)
71
- sxp (~> 1.1)
72
- unicode-types (~> 1.6)
73
- edtf (3.0.6)
74
- activesupport (>= 3.0, < 7.0)
72
+ sxp (~> 1.2)
73
+ unicode-types (~> 1.7)
74
+ edtf (3.1.0)
75
+ activesupport (>= 3.0, < 8.0)
75
76
  excon (0.71.1)
76
- faraday (0.17.4)
77
+ faraday (0.17.5)
77
78
  multipart-post (>= 1.2, < 3)
78
79
  faraday-encoding (0.0.5)
79
80
  faraday
@@ -84,34 +85,32 @@ GEM
84
85
  haml (5.2.2)
85
86
  temple (>= 0.8.0)
86
87
  tilt
87
- hamster (3.0.0)
88
- concurrent-ruby (~> 1.0)
89
88
  hashdiff (1.0.1)
90
89
  htmlentities (4.3.4)
91
- i18n (1.8.11)
90
+ i18n (1.12.0)
92
91
  concurrent-ruby (~> 1.0)
93
92
  iso8601 (0.9.1)
94
- json (2.6.1)
93
+ json (2.6.2)
95
94
  json-canonicalization (0.3.0)
96
- json-ld (3.1.10)
95
+ json-ld (3.2.3)
97
96
  htmlentities (~> 4.3)
98
- json-canonicalization (~> 0.2)
97
+ json-canonicalization (~> 0.3)
99
98
  link_header (~> 0.0, >= 0.0.8)
100
- multi_json (~> 1.14)
101
- rack (~> 2.0)
102
- rdf (~> 3.1)
103
- json-ld-preloaded (3.1.6)
104
- json-ld (~> 3.1)
105
- rdf (~> 3.1)
99
+ multi_json (~> 1.15)
100
+ rack (~> 2.2)
101
+ rdf (~> 3.2, >= 3.2.9)
102
+ json-ld-preloaded (3.2.0)
103
+ json-ld (~> 3.2)
104
+ rdf (~> 3.2)
106
105
  jsonlint (0.3.0)
107
106
  oj (~> 3)
108
107
  optimist (~> 3)
109
- latex-decode (0.3.2)
108
+ latex-decode (0.4.0)
110
109
  link_header (0.0.8)
111
- loofah (2.13.0)
110
+ loofah (2.18.0)
112
111
  crass (~> 1.0.2)
113
112
  nokogiri (>= 1.5.9)
114
- maremma (4.9.6)
113
+ maremma (4.9.8)
115
114
  activesupport (>= 4.2.5)
116
115
  addressable (>= 2.3.6)
117
116
  builder (~> 3.2, >= 3.2.2)
@@ -119,18 +118,19 @@ GEM
119
118
  faraday (~> 0.17.3)
120
119
  faraday-encoding (~> 0.0.4)
121
120
  faraday_middleware (~> 0.14.0)
122
- nokogiri (~> 1.11.2)
121
+ nokogiri (>= 1.11.2, < 1.14.0)
123
122
  oj (>= 2.8.3)
124
123
  oj_mimic_json (~> 1.0, >= 1.0.1)
125
- mini_portile2 (2.5.3)
126
- minitest (5.15.0)
124
+ matrix (0.4.2)
125
+ mini_portile2 (2.8.0)
126
+ minitest (5.16.3)
127
127
  multi_json (1.15.0)
128
- multipart-post (2.1.1)
128
+ multipart-post (2.2.3)
129
129
  namae (1.1.1)
130
- nokogiri (1.11.7)
131
- mini_portile2 (~> 2.5.0)
130
+ nokogiri (1.13.8)
131
+ mini_portile2 (~> 2.8.0)
132
132
  racc (~> 1.4)
133
- oj (3.13.10)
133
+ oj (3.13.21)
134
134
  oj_mimic_json (1.0.1)
135
135
  optimist (3.0.1)
136
136
  postrank-uri (1.0.24)
@@ -139,49 +139,48 @@ GEM
139
139
  public_suffix (>= 2.0.0, < 2.1)
140
140
  public_suffix (2.0.5)
141
141
  racc (1.6.0)
142
- rack (2.2.3)
142
+ rack (2.2.4)
143
143
  rack-test (0.8.3)
144
144
  rack (>= 1.0, < 3)
145
145
  rake (12.3.3)
146
- rdf (3.1.15)
147
- hamster (~> 3.0)
146
+ rdf (3.2.9)
148
147
  link_header (~> 0.0, >= 0.0.8)
149
- rdf-aggregate-repo (3.1.0)
150
- rdf (~> 3.1)
151
- rdf-rdfa (3.1.3)
148
+ rdf-aggregate-repo (3.2.1)
149
+ rdf (~> 3.2)
150
+ rdf-rdfa (3.2.0)
152
151
  haml (~> 5.2)
153
152
  htmlentities (~> 4.3)
154
- rdf (~> 3.1, >= 3.1.13)
155
- rdf-aggregate-repo (~> 3.1)
156
- rdf-vocab (~> 3.1, >= 3.1.11)
157
- rdf-xsd (~> 3.1)
158
- rdf-rdfxml (3.1.1)
153
+ rdf (~> 3.2)
154
+ rdf-aggregate-repo (~> 3.2)
155
+ rdf-vocab (~> 3.2)
156
+ rdf-xsd (~> 3.2)
157
+ rdf-rdfxml (3.2.0)
159
158
  htmlentities (~> 4.3)
160
- rdf (~> 3.1)
161
- rdf-rdfa (~> 3.1)
162
- rdf-xsd (~> 3.1)
163
- rdf-turtle (3.1.3)
164
- ebnf (~> 2.1)
165
- rdf (~> 3.1, >= 3.1.8)
166
- rdf-vocab (3.1.14)
167
- rdf (~> 3.1, >= 3.1.12)
168
- rdf-xsd (3.1.1)
169
- rdf (~> 3.1)
159
+ rdf (~> 3.2)
160
+ rdf-rdfa (~> 3.2)
161
+ rdf-xsd (~> 3.2)
162
+ rdf-turtle (3.2.1)
163
+ ebnf (~> 2.3)
164
+ rdf (~> 3.2)
165
+ rdf-vocab (3.2.1)
166
+ rdf (~> 3.2, >= 3.2.4)
167
+ rdf-xsd (3.2.1)
168
+ rdf (~> 3.2)
170
169
  rexml (~> 3.2)
171
170
  rexml (3.2.5)
172
- rspec (3.10.0)
173
- rspec-core (~> 3.10.0)
174
- rspec-expectations (~> 3.10.0)
175
- rspec-mocks (~> 3.10.0)
176
- rspec-core (3.10.1)
177
- rspec-support (~> 3.10.0)
178
- rspec-expectations (3.10.1)
171
+ rspec (3.11.0)
172
+ rspec-core (~> 3.11.0)
173
+ rspec-expectations (~> 3.11.0)
174
+ rspec-mocks (~> 3.11.0)
175
+ rspec-core (3.11.0)
176
+ rspec-support (~> 3.11.0)
177
+ rspec-expectations (3.11.0)
179
178
  diff-lcs (>= 1.2.0, < 2.0)
180
- rspec-support (~> 3.10.0)
181
- rspec-mocks (3.10.2)
179
+ rspec-support (~> 3.11.0)
180
+ rspec-mocks (3.11.1)
182
181
  diff-lcs (>= 1.2.0, < 2.0)
183
- rspec-support (~> 3.10.0)
184
- rspec-support (3.10.3)
182
+ rspec-support (~> 3.11.0)
183
+ rspec-support (3.11.0)
185
184
  rspec-xsd (0.1.0)
186
185
  nokogiri (~> 1.6)
187
186
  rspec (~> 3)
@@ -191,21 +190,21 @@ GEM
191
190
  json (>= 1.8, < 3)
192
191
  simplecov-html (~> 0.10.0)
193
192
  simplecov-html (0.10.2)
194
- sxp (1.1.0)
195
- rdf (~> 3.1)
193
+ sxp (1.2.2)
194
+ matrix
195
+ rdf (~> 3.2)
196
196
  temple (0.8.2)
197
- thor (1.1.0)
198
- tilt (2.0.10)
199
- tzinfo (2.0.4)
197
+ thor (1.2.1)
198
+ tilt (2.0.11)
199
+ tzinfo (2.0.5)
200
200
  concurrent-ruby (~> 1.0)
201
201
  unicode-types (1.7.0)
202
202
  unicode_utils (1.4.0)
203
203
  vcr (3.0.3)
204
- webmock (3.14.0)
204
+ webmock (3.18.1)
205
205
  addressable (>= 2.8.0)
206
206
  crack (>= 0.3.2)
207
207
  hashdiff (>= 0.4.0, < 2.0.0)
208
- zeitwerk (2.5.1)
209
208
 
210
209
  PLATFORMS
211
210
  ruby
@@ -223,4 +222,4 @@ DEPENDENCIES
223
222
  webmock (~> 3.0, >= 3.0.1)
224
223
 
225
224
  BUNDLED WITH
226
- 2.2.22
225
+ 2.3.16
data/bolognese.gemspec CHANGED
@@ -16,9 +16,10 @@ Gem::Specification.new do |s|
16
16
  s.required_ruby_version = '~> 2.3'
17
17
 
18
18
  # Declare dependencies here, rather than in the Gemfile
19
- s.add_dependency 'maremma', '>= 4.9.5', '< 5'
19
+ s.add_dependency 'maremma', '>= 4.9.7', '< 5'
20
+ s.add_dependency 'base32-url', '>= 0.5.0', '< 1'
20
21
  s.add_dependency 'faraday', '~> 0.17.3'
21
- s.add_dependency 'nokogiri', '~> 1.11.2'
22
+ s.add_dependency 'nokogiri', '~> 1.13.1'
22
23
  s.add_dependency 'loofah', '~> 2.0', '>= 2.0.3'
23
24
  s.add_dependency 'builder', '~> 3.2', '>= 3.2.2'
24
25
  s.add_dependency 'activesupport', '>= 4.2.5'
data/lib/briard/cli.rb CHANGED
@@ -53,6 +53,11 @@ module Briard
53
53
  end
54
54
  end
55
55
 
56
+ desc "", "encode"
57
+ def encode(prefix)
58
+ puts encode_doi(prefix)
59
+ end
60
+
56
61
  default_task :convert
57
62
  end
58
63
  end
@@ -83,8 +83,8 @@ module Briard
83
83
  end
84
84
 
85
85
  # make sure input is encoded as utf8
86
- string = string.force_encoding("UTF-8") if string.present? && string.is_a?(String)
87
- @string = string
86
+ dup_string = string.dup.force_encoding("UTF-8").encode! if string.present? && string.is_a?(String)
87
+ @string = dup_string
88
88
 
89
89
  # input options for citation formatting
90
90
  @style = options[:style]
@@ -27,7 +27,7 @@ module Briard
27
27
  return { "string" => nil, "state" => "not_found" } unless id.present?
28
28
 
29
29
  url = normalize_id(id)
30
- response = Maremma.get(url, accept: "json", raw: true)
30
+ response = Maremma.get(url, raw: true)
31
31
 
32
32
  # some responses are returned as a hash
33
33
  if response.body["data"].is_a?(Hash)
@@ -36,9 +36,27 @@ module Briard
36
36
  doc = Nokogiri::XML(response.body.fetch("data", nil), nil, 'UTF-8')
37
37
 
38
38
  # workaround for xhtml documents
39
- nodeset = doc.css("script")
40
- string = nodeset.find { |element| element["type"] == "application/ld+json" }
41
- string = string.text if string.present?
39
+ nodeset = doc.at("script[type='application/ld+json']")
40
+ hsh = JSON.parse(nodeset || "{}")
41
+
42
+ # workaround for doi as canonical_url but not included with schema.org
43
+ link = doc.css("link[rel='canonical']")
44
+ hsh.merge!({ "@id" => link[0]["href"] }) if link.present?
45
+
46
+ # workaround if license included but not with schema.org
47
+ license = doc.at("meta[name='DCTERMS.license']")
48
+ hsh.merge!({ "license" => license["content"] }) if license.present?
49
+
50
+ # workaround for html language attribute if no language is set via schema.org
51
+ lang = doc.at('html')['lang']
52
+ hsh.merge!({ "inLanguage" => lang }) if hsh["inLanguage"].blank?
53
+
54
+ # workaround if issn not included with schema.org
55
+ name = doc.at("meta[property='og:site_name']")
56
+ issn = doc.at("meta[name='citation_issn']")
57
+ hsh.merge!({ "isPartOf" => { "name" => name ? name["content"] : nil, "issn" => issn ? issn["content"] : nil }.compact })
58
+
59
+ string = hsh.to_json if hsh.present?
42
60
  end
43
61
 
44
62
  { "string" => string }
@@ -63,7 +81,10 @@ module Briard
63
81
  end
64
82
  end.compact.uniq
65
83
 
66
- id = normalize_id(options[:doi] || meta.fetch("@id", nil) || meta.fetch("identifier", nil))
84
+ id = options[:doi]
85
+ id = meta.fetch("@id", nil) if id.blank? && meta.fetch("@id", nil).to_s.start_with?("https://doi.org")
86
+ id = meta.fetch("identifier", nil) if id.blank? # && meta.fetch("identifier", nil).to_s.start_with?("https://doi.org")#&& meta.fetch("@", nil).start_with?("https://doi.org")
87
+ id = normalize_id(id)
67
88
 
68
89
  schema_org = meta.fetch("@type", nil) && meta.fetch("@type").camelcase
69
90
  resource_type_general = Briard::Utils::SO_TO_DC_TRANSLATIONS[schema_org]
@@ -85,7 +106,7 @@ module Briard
85
106
 
86
107
  ct = (schema_org == "Dataset") ? "includedInDataCatalog" : "Periodical"
87
108
  container = if meta.fetch(ct, nil).present?
88
- url = parse_attributes(from_schema_org(meta.fetch(ct, nil)), content: "url", first: true)
109
+ url = parse_attributes(from_schema_org(meta.fetch(ct, nil)), content: "url", first: true)
89
110
 
90
111
  {
91
112
  "type" => (schema_org == "Dataset") ? "DataRepository" : "Periodical",
@@ -97,7 +118,7 @@ module Briard
97
118
  "firstPage" => meta.fetch("pageStart", nil),
98
119
  "lastPage" => meta.fetch("pageEnd", nil)
99
120
  }.compact
100
- elsif schema_org == "BlogPosting"
121
+ elsif ["BlogPosting", "Article"].include?(schema_org)
101
122
  issn = meta.dig("isPartOf", "issn")
102
123
 
103
124
  {
@@ -179,7 +200,7 @@ module Briard
179
200
 
180
201
  # handle keywords as array and as comma-separated string
181
202
  subjects = meta.fetch("keywords", nil)
182
- subjects = subjects.to_s.split(", ") if subjects.is_a?(String)
203
+ subjects = subjects.to_s.downcase.split(", ") if subjects.is_a?(String)
183
204
  subjects = Array.wrap(subjects).reduce([]) do |sum, subject|
184
205
  sum += name_to_fos(subject)
185
206
  sum
@@ -193,7 +214,7 @@ module Briard
193
214
  "content_url" => Array.wrap(meta.fetch("contentUrl", nil)),
194
215
  "sizes" => Array.wrap(meta.fetch("contenSize", nil)).presence,
195
216
  "formats" => Array.wrap(meta.fetch("encodingFormat", nil) || meta.fetch("fileFormat", nil)),
196
- "titles" => meta.fetch("name", nil).present? ? [{ "title" => meta.fetch("name", nil) }] : nil,
217
+ "titles" => meta.fetch("name", nil).present? ? [{ "title" => meta.fetch("name", nil) }] : [{ "title" => meta.fetch("headline", nil) }],
197
218
  "creators" => creators,
198
219
  "contributors" => contributors,
199
220
  "publisher" => publisher,
data/lib/briard/utils.rb CHANGED
@@ -262,13 +262,14 @@ module Briard
262
262
  }
263
263
 
264
264
  SO_TO_DC_TRANSLATIONS = {
265
- "Article" => "Text",
265
+ "Article" => "Preprint",
266
266
  "AudioObject" => "Sound",
267
267
  "Blog" => "Text",
268
268
  "BlogPosting" => "Preprint",
269
269
  "Book" => "Book",
270
270
  "Chapter" => "BookChapter",
271
271
  "Collection" => "Collection",
272
+ "CreativeWork" => "Text",
272
273
  "DataCatalog" => "Dataset",
273
274
  "Dataset" => "Dataset",
274
275
  "Event" => "Event",
@@ -309,7 +310,7 @@ module Briard
309
310
  }
310
311
 
311
312
  SO_TO_CP_TRANSLATIONS = {
312
- "Article" => "",
313
+ "Article" => "article-newspaper",
313
314
  "AudioObject" => "song",
314
315
  "Blog" => "report",
315
316
  "BlogPosting" => "post-weblog",
@@ -331,7 +332,7 @@ module Briard
331
332
  }
332
333
 
333
334
  SO_TO_RIS_TRANSLATIONS = {
334
- "Article" => nil,
335
+ "Article" => "GEN",
335
336
  "AudioObject" => nil,
336
337
  "Blog" => nil,
337
338
  "BlogPosting" => "BLOG",
@@ -400,7 +401,7 @@ module Briard
400
401
  "OutputManagementPlan" => nil,
401
402
  "PeerReview" => nil,
402
403
  "PhysicalObject" => nil,
403
- "Preprint" => nil,
404
+ "Preprint" => "RPRT",
404
405
  "Report" => "RRPT",
405
406
  "Service" => nil,
406
407
  "Software" => "COMP",
@@ -938,6 +939,9 @@ module Briard
938
939
  scheme_uri = nil
939
940
  end
940
941
 
942
+ # alternatively find the nameIdentifier in the sameAs attribute
943
+ c["@id"] = c["sameAs"].first if Array(c["sameAs"]).find { |item| item.start_with?("https://orcid.org") }
944
+
941
945
  c["nameIdentifier"] = [{ "__content__" => c["@id"], "nameIdentifierScheme" => "ORCID", "schemeUri" => "https://orcid.org" }] if normalize_orcid(c["@id"])
942
946
  c["@type"] = c["@type"].find { |t| %w(Person Organization).include?(t) } if c["@type"].is_a?(Array)
943
947
  c["creatorName"] = { "nameType" => c["@type"].present? ? c["@type"].titleize + "al" : nil, "__content__" => c["name"] }.compact
@@ -1297,7 +1301,8 @@ module Briard
1297
1301
 
1298
1302
  if subject
1299
1303
  return [{
1300
- "subject" => sanitize(name) },
1304
+ "subject" => sanitize(name).downcase
1305
+ },
1301
1306
  {
1302
1307
  "subject" => "FOS: " + subject["fosLabel"],
1303
1308
  "subjectScheme" => "Fields of Science and Technology (FOS)",
@@ -1316,14 +1321,15 @@ module Briard
1316
1321
 
1317
1322
  if subject
1318
1323
  [{
1319
- "subject" => sanitize(name) },
1324
+ "subject" => sanitize(name).downcase
1325
+ },
1320
1326
  {
1321
1327
  "subject" => "FOS: " + subject["fosLabel"],
1322
1328
  "subjectScheme" => "Fields of Science and Technology (FOS)",
1323
1329
  "schemeUri" => "http://www.oecd.org/science/inno/38235147.pdf"
1324
1330
  }]
1325
1331
  else
1326
- [{ "subject" => sanitize(name) }]
1332
+ [{ "subject" => sanitize(name).downcase }]
1327
1333
  end
1328
1334
  end
1329
1335
 
@@ -1387,5 +1393,17 @@ module Briard
1387
1393
  "lang" => hsh["lang"] }.compact]
1388
1394
  end
1389
1395
  end
1396
+
1397
+ def encode_doi(prefix)
1398
+ random_int = SecureRandom.random_number(2**63..2**64-1)
1399
+ suffix = Base32::URL.encode(random_int)
1400
+ str = "#{suffix[0,7]}-#{suffix[6,7]}"
1401
+ "https://doi.org/#{prefix}/#{str}"
1402
+ end
1403
+
1404
+ def decode_doi(doi)
1405
+ suffix = doi.split('/', 5).last
1406
+ Base32::URL.decode(suffix)
1407
+ end
1390
1408
  end
1391
1409
  end
@@ -1,3 +1,3 @@
1
1
  module Briard
2
- VERSION = "2.2.7"
2
+ VERSION = "2.4"
3
3
  end
data/lib/briard.rb CHANGED
@@ -20,6 +20,7 @@ require 'citeproc/ruby'
20
20
  require 'citeproc'
21
21
  require 'csl/styles'
22
22
  require 'edtf'
23
+ require 'base32/url'
23
24
 
24
25
  require "briard/version"
25
26
  require "briard/metadata"
@@ -127,13 +127,10 @@ describe Briard::Metadata, vcr: true do
127
127
  input = "10.14463/GBV:873056442"
128
128
  subject = Briard::Metadata.new(input: input, from: "datacite")
129
129
  meta = Maremma.from_xml(subject.raw).fetch("resource", {})
130
- response = subject.get_one_author(meta.dig("creators", "creator").first)
130
+ response = subject.get_one_author(meta.dig("creators", "creator"))
131
131
  expect(response).to eq("affiliation" => [],
132
- "familyName" => "Schumacher",
133
- "givenName" => "Heinrich Christian",
134
- "name" => "Schumacher, Heinrich Christian",
135
- "nameIdentifiers" => [{"nameIdentifier"=>"http://d-nb.info/gnd/118611593", "nameIdentifierScheme"=>"GND", "schemeUri"=>"http://d-nb.info/gnd/"}],
136
- "nameType" => "Personal")
132
+ "name" => "Unknown",
133
+ "nameIdentifiers" => [])
137
134
  end
138
135
 
139
136
  it "multiple name_identifier" do
data/spec/cli_spec.rb CHANGED
@@ -51,7 +51,7 @@ describe Briard::CLI do
51
51
  let(:input) { "10.5061/dryad.8515" }
52
52
 
53
53
  it 'default' do
54
- expect { subject.convert input }.to output(/Plasmodium, malaria, mitochondrial genome, Parasites/).to_stdout
54
+ expect { subject.convert input }.to output(/plasmodium, malaria, mitochondrial genome, parasites/).to_stdout
55
55
  end
56
56
 
57
57
  it 'to schema_org' do
@@ -223,4 +223,12 @@ describe Briard::CLI do
223
223
  # end
224
224
  # end
225
225
  end
226
+
227
+ describe "encode" do
228
+ let(:input) { "10.53731" }
229
+
230
+ it "blog prefix" do
231
+ expect { subject.encode input }.to output(/https:\/\/doi.org\/10.53731/).to_stdout
232
+ end
233
+ end
226
234
  end
@@ -101,7 +101,7 @@ describe Briard::Metadata, vcr: true do
101
101
  it "insert" do
102
102
  xml = Nokogiri::XML::Builder.new(:encoding => 'UTF-8') { |xml| subject.insert_subjects(xml) }.to_xml
103
103
  response = Maremma.from_xml(xml)
104
- expect(response.dig("subjects", "subject")).to eq(["Plasmodium", "malaria", "mitochondrial genome", "Parasites"])
104
+ expect(response.dig("subjects", "subject")).to eq(["plasmodium", "malaria", "mitochondrial genome", "parasites"])
105
105
  end
106
106
  end
107
107
 
@@ -144,13 +144,13 @@ describe Briard::Metadata, vcr: true do
144
144
  context "insert_related_identifiers" do
145
145
  it "related_identifier" do
146
146
  expect(subject.related_identifiers.length).to eq(1)
147
- expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"10.1371/journal.ppat.1000446", "relatedIdentifierType"=>"DOI", "relationType"=>"Cites")
147
+ expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"10.1371/journal.ppat.1000446", "relatedIdentifierType"=>"DOI", "relationType"=>"IsCitedBy")
148
148
  end
149
149
 
150
150
  it "insert" do
151
151
  xml = Nokogiri::XML::Builder.new(:encoding => 'UTF-8') { |xml| subject.insert_related_identifiers(xml) }.to_xml
152
152
  response = Maremma.from_xml(xml)
153
- expect(response.dig("relatedIdentifiers", "relatedIdentifier")).to eq("__content__"=>"10.1371/journal.ppat.1000446", "relatedIdentifierType"=>"DOI", "relationType"=>"Cites")
153
+ expect(response.dig("relatedIdentifiers", "relatedIdentifier")).to eq("__content__"=>"10.1371/journal.ppat.1000446", "relatedIdentifierType"=>"DOI", "relationType"=>"IsCitedBy")
154
154
  end
155
155
  end
156
156