briard 2.7.0 → 2.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (534) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/rubocop.yml +6 -6
  3. data/.rubocop.yml +1 -1
  4. data/Gemfile.lock +6 -6
  5. data/README.md +8 -1
  6. data/briard.gemspec +3 -3
  7. data/lib/briard/author_utils.rb +50 -33
  8. data/lib/briard/doi_utils.rb +14 -8
  9. data/lib/briard/metadata.rb +1 -1
  10. data/lib/briard/metadata_utils.rb +2 -0
  11. data/lib/briard/readers/crossref_json_reader.rb +167 -0
  12. data/lib/briard/readers/crossref_reader.rb +6 -7
  13. data/lib/briard/readers/datacite_reader.rb +1 -1
  14. data/lib/briard/readers/schema_org_reader.rb +1 -1
  15. data/lib/briard/utils.rb +892 -807
  16. data/lib/briard/version.rb +1 -1
  17. data/lib/briard/writers/datacite_json_writer.rb +5 -5
  18. data/lib/briard/writers/jats_writer.rb +12 -12
  19. data/spec/author_utils_spec.rb +36 -32
  20. data/spec/cli_spec.rb +1 -1
  21. data/spec/doi_utils_spec.rb +8 -8
  22. data/spec/fixtures/crossref.json +572 -0
  23. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/default.yml +11 -13
  24. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_bibtex.yml +11 -13
  25. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_citation.yml +11 -13
  26. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_crossref.yml +11 -13
  27. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_datacite.yml +11 -13
  28. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_jats.yml +11 -13
  29. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/crossref/to_schema_org.yml +11 -13
  30. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/default.yml +14 -16
  31. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_bibtex.yml +14 -16
  32. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_citation.yml +14 -16
  33. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_datacite.yml +14 -16
  34. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_datacite_json.yml +14 -16
  35. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_jats.yml +14 -16
  36. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/datacite/to_schema_org.yml +14 -16
  37. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/schema_org/default.yml +9 -9
  38. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/schema_org/to_datacite.yml +9 -9
  39. data/spec/fixtures/vcr_cassettes/Briard_CLI/convert_from_id/schema_org/to_schema_org.yml +13 -11
  40. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/crossref.yml +5 -7
  41. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/datacite.yml +5 -7
  42. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/jalc.yml +5 -7
  43. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/kisti.yml +5 -7
  44. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/medra.yml +5 -7
  45. data/spec/fixtures/vcr_cassettes/Briard_CLI/find_from_format_by_id/op.yml +5 -7
  46. data/spec/fixtures/vcr_cassettes/Briard_Metadata/authors_as_string/author.yml +7 -7
  47. data/spec/fixtures/vcr_cassettes/Briard_Metadata/authors_as_string/no_author.yml +6 -6
  48. data/spec/fixtures/vcr_cassettes/Briard_Metadata/authors_as_string/single_author.yml +6 -6
  49. data/spec/fixtures/vcr_cassettes/Briard_Metadata/authors_as_string/with_organization.yml +7 -7
  50. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_datacite_metadata/change_state.yml +14 -16
  51. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_datacite_metadata/change_title.yml +14 -16
  52. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_metadata_as_datacite_xml/change_description.yml +6 -6
  53. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_metadata_as_datacite_xml/change_identifiers.yml +6 -6
  54. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_metadata_as_datacite_xml/change_license.yml +6 -6
  55. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_metadata_as_datacite_xml/change_license_name.yml +6 -6
  56. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_metadata_as_datacite_xml/change_license_url.yml +6 -6
  57. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_metadata_as_datacite_xml/change_state.yml +6 -6
  58. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_metadata_as_datacite_xml/validates_against_schema.yml +6 -6
  59. data/spec/fixtures/vcr_cassettes/Briard_Metadata/change_metadata_as_datacite_xml/with_data_citation.yml +6 -6
  60. data/spec/fixtures/vcr_cassettes/Briard_Metadata/{doi_api_url/https_url.yml → datacite_api_url/doi.yml} +6 -6
  61. data/spec/fixtures/vcr_cassettes/Briard_Metadata/{doi_api_url/doi.yml → datacite_api_url/doi_with_protocol.yml} +6 -6
  62. data/spec/fixtures/vcr_cassettes/Briard_Metadata/{sanitize/should_only_keep_specific_tags.yml → datacite_api_url/dx_doi_org_url.yml} +6 -6
  63. data/spec/fixtures/vcr_cassettes/Briard_Metadata/datacite_api_url/force_test_resolver.yml +65 -0
  64. data/spec/fixtures/vcr_cassettes/Briard_Metadata/datacite_api_url/https_url.yml +65 -0
  65. data/spec/fixtures/vcr_cassettes/Briard_Metadata/{doi_api_url → datacite_api_url}/test_resolver.yml +6 -6
  66. data/spec/fixtures/vcr_cassettes/Briard_Metadata/{doi_api_url → datacite_api_url}/test_resolver_http.yml +6 -6
  67. data/spec/fixtures/vcr_cassettes/Briard_Metadata/{doi_api_url/doi_with_protocol.yml → doi_from_url/crossref_api_url.yml} +6 -6
  68. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_from_url/doi.yml +7 -7
  69. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_from_url/doi_with_special_characters.yml +6 -6
  70. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_from_url/not_a_doi.yml +7 -7
  71. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_from_url/sandbox_url.yml +6 -6
  72. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_from_url/url.yml +7 -7
  73. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/crossref.yml +12 -14
  74. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/datacite.yml +11 -13
  75. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/jalc.yml +11 -13
  76. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/kisti.yml +12 -14
  77. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/medra.yml +12 -14
  78. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/not_a_valid_prefix.yml +6 -6
  79. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/not_found.yml +11 -13
  80. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_registration_agency/op.yml +11 -13
  81. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_resolver/doi.yml +6 -6
  82. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_resolver/doi_with_protocol.yml +7 -7
  83. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_resolver/dx_doi_org_url.yml +6 -6
  84. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_resolver/force_stage_resolver.yml +7 -7
  85. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_resolver/https_url.yml +7 -7
  86. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_resolver/stage_resolver.yml +6 -6
  87. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_resolver/stage_resolver_http.yml +7 -7
  88. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/crossref.yml +19 -23
  89. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/crossref_doi_not_url.yml +19 -23
  90. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/datacite.yml +19 -23
  91. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/datacite_doi_http.yml +19 -23
  92. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/github.yml +14 -16
  93. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/orcid.yml +14 -16
  94. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/schema_org.yml +14 -16
  95. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_by_ID/unknown_DOI_registration_agency.yml +19 -23
  96. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_file/bibtex.yml +14 -16
  97. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_file/citeproc.yml +14 -16
  98. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_file/codemeta.yml +14 -16
  99. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_file/crosscite.yml +14 -16
  100. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_file/crossref.yml +14 -16
  101. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_file/datacite.yml +14 -16
  102. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_file/datacite_json.yml +14 -16
  103. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_file/ris.yml +14 -16
  104. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_file/schema_org.yml +14 -16
  105. data/spec/fixtures/vcr_cassettes/Briard_Metadata/find_from_format_from_string/crosscite.yml +14 -16
  106. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/hsh_to_fos_for_match.yml +6 -6
  107. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/hsh_to_fos_for_with_schemeUri_in_hash.yml +7 -7
  108. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/hsh_to_fos_match.yml +6 -6
  109. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/hsh_to_fos_no_match.yml +6 -6
  110. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/name_to_fos_for_match.yml +7 -7
  111. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/name_to_fos_match.yml +6 -6
  112. data/spec/fixtures/vcr_cassettes/Briard_Metadata/fos/name_to_fos_no_match.yml +7 -7
  113. data/spec/fixtures/vcr_cassettes/Briard_Metadata/from_schema_org/with_id.yml +7 -7
  114. data/spec/fixtures/vcr_cassettes/Briard_Metadata/from_schema_org_creators/with_affiliation.yml +6 -6
  115. data/spec/fixtures/vcr_cassettes/Briard_Metadata/from_schema_org_creators/without_affiliation.yml +7 -7
  116. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/cff-converter-python.yml +8 -8
  117. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/ruby-cff.yml +13 -13
  118. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_cff_metadata/ruby-cff_repository_url.yml +14 -14
  119. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_codemeta_metadata/maremma.yml +9 -9
  120. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_codemeta_metadata/metadata_reports.yml +8 -8
  121. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/DOI_with_ORCID_ID.yml +112 -0
  122. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/DOI_with_SICI_DOI.yml +112 -0
  123. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/DOI_with_data_citation.yml +112 -0
  124. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/JaLC.yml +112 -0
  125. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/KISTI.yml +112 -0
  126. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/OP.yml +112 -0
  127. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/affiliation_is_space.yml +112 -0
  128. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/another_book.yml +112 -0
  129. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/another_book_chapter.yml +112 -0
  130. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/article_id_as_page_number.yml +112 -0
  131. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/author_literal.yml +112 -0
  132. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/book.yml +112 -0
  133. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/book_chapter.yml +112 -0
  134. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/book_chapter_with_RDF_for_container.yml +112 -0
  135. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/book_oup.yml +112 -0
  136. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/component.yml +112 -0
  137. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/dataset.yml +112 -0
  138. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/dataset_usda.yml +112 -0
  139. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/date_in_future.yml +112 -0
  140. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/dissertation.yml +112 -0
  141. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/empty_given_name.yml +112 -0
  142. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/invalid_date.yml +112 -0
  143. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/journal_article.yml +112 -0
  144. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/journal_article_original_language_title.yml +112 -0
  145. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/journal_article_with.yml +112 -0
  146. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/journal_article_with_RDF_for_container.yml +112 -0
  147. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/journal_article_with_funding.yml +112 -0
  148. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/journal_issue.yml +112 -0
  149. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/mEDRA.yml +112 -0
  150. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/markup.yml +112 -0
  151. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/missing_creator.yml +112 -0
  152. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/multiple_issn.yml +112 -0
  153. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/multiple_titles.yml +112 -0
  154. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/multiple_titles_with_missing.yml +112 -0
  155. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/not_found_error.yml +105 -0
  156. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/peer_review.yml +112 -0
  157. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/posted_content.yml +112 -0
  158. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/posted_content_copernicus.yml +112 -0
  159. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/report_osti.yml +112 -0
  160. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/vor_with_url.yml +112 -0
  161. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/yet_another_book.yml +112 -0
  162. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_json_metadata/yet_another_book_chapter.yml +112 -0
  163. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/DOI_with_ORCID_ID.yml +11 -13
  164. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/DOI_with_SICI_DOI.yml +13 -15
  165. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/DOI_with_data_citation.yml +11 -13
  166. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/JaLC.yml +11 -13
  167. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/KISTI.yml +13 -15
  168. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/OP.yml +13 -15
  169. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/affiliation_is_space.yml +13 -15
  170. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/another_book.yml +12 -14
  171. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/another_book_chapter.yml +11 -13
  172. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/article_id_as_page_number.yml +12 -14
  173. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/author_literal.yml +13 -15
  174. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/book.yml +13 -15
  175. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/book_chapter.yml +12 -14
  176. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/book_chapter_with_RDF_for_container.yml +11 -13
  177. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/book_oup.yml +11 -13
  178. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/component.yml +11 -13
  179. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/dataset.yml +11 -13
  180. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/dataset_usda.yml +11 -13
  181. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/date_in_future.yml +11 -13
  182. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/dissertation.yml +11 -13
  183. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/empty_given_name.yml +11 -13
  184. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/invalid_date.yml +11 -13
  185. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_article.yml +58 -62
  186. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_article_original_language_title.yml +58 -61
  187. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_article_with.yml +13 -15
  188. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_article_with_RDF_for_container.yml +12 -14
  189. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_article_with_funding.yml +58 -62
  190. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/journal_issue.yml +11 -13
  191. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/mEDRA.yml +12 -14
  192. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/markup.yml +13 -15
  193. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/missing_creator.yml +11 -13
  194. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/multiple_issn.yml +11 -13
  195. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/multiple_titles.yml +11 -13
  196. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/multiple_titles_with_missing.yml +12 -14
  197. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/not_found_error.yml +11 -13
  198. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/peer_review.yml +11 -13
  199. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/posted_content.yml +12 -14
  200. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/posted_content_copernicus.yml +11 -13
  201. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/report_osti.yml +12 -14
  202. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/vor_with_url.yml +13 -15
  203. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/yet_another_book.yml +11 -13
  204. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_crossref_metadata/yet_another_book_chapter.yml +11 -13
  205. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_json_metadata/metadata_from_api.yml +14 -16
  206. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/BlogPosting.yml +14 -16
  207. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/DOI_in_staging_system.yml +14 -16
  208. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/DOI_in_staging_system_schema_3.yml +14 -16
  209. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/DOI_in_with_related_id_system.yml +14 -16
  210. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/DOI_not_found.yml +13 -15
  211. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/Dataset.yml +14 -16
  212. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/Funding.yml +14 -16
  213. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/Funding_empty_awardTitle.yml +14 -16
  214. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/Funding_schema_version_4.yml +14 -16
  215. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/Referee_report_in_staging_system.yml +14 -16
  216. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/Schema_org_type.yml +14 -16
  217. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/author_only_full_name.yml +14 -16
  218. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/author_with_scheme.yml +14 -16
  219. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/author_with_wrong_orcid_scheme.yml +14 -16
  220. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/cc-by_3_0_us.yml +14 -16
  221. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/content_url.yml +14 -16
  222. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/date.yml +14 -16
  223. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/dissertation.yml +14 -16
  224. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/doi_with_sign.yml +14 -16
  225. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/empty_subject.yml +14 -16
  226. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/even_more_subject_scheme_FOR.yml +14 -16
  227. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/funding_references.yml +14 -16
  228. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/funding_schema_version_3.yml +14 -16
  229. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/is_identical_to.yml +14 -16
  230. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/keywords_with_attributes.yml +14 -16
  231. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/leading_and_trailing_whitespace.yml +14 -16
  232. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/more_subject_scheme_FOR.yml +14 -16
  233. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/multiple_author_names_in_one_creatorsName.yml +14 -16
  234. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/multiple_licenses.yml +14 -16
  235. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/series-information.yml +14 -16
  236. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/subject_scheme.yml +14 -16
  237. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datacite_metadata/subject_scheme_FOR.yml +14 -16
  238. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date/publication_date.yml +7 -7
  239. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_date_parts/date.yml +6 -6
  240. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_date_parts/year-month.yml +6 -6
  241. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_date_parts/year.yml +6 -6
  242. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_parts/date.yml +6 -6
  243. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_parts/year-month.yml +7 -7
  244. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_from_parts/year.yml +6 -6
  245. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_parts/date.yml +6 -6
  246. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_parts/year-month.yml +7 -7
  247. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_date_parts/year.yml +6 -6
  248. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datetime_from_time/future.yml +7 -7
  249. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datetime_from_time/invalid.yml +7 -7
  250. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datetime_from_time/nil.yml +6 -6
  251. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datetime_from_time/past.yml +6 -6
  252. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_datetime_from_time/present.yml +6 -6
  253. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/has_familyName.yml +9 -9
  254. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/has_name_in_Thai.yml +9 -9
  255. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/has_name_in_display-order.yml +9 -9
  256. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/has_name_in_display-order_with_ORCID.yml +9 -9
  257. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/has_name_in_sort-order.yml +9 -9
  258. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/hyper-authorship.yml +9 -9
  259. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/is_organization.yml +6 -6
  260. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/multiple_author_names_in_one_field.yml +9 -9
  261. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/multiple_name_identifier.yml +9 -9
  262. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/name_with_affiliation.yml +9 -9
  263. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/name_with_affiliation_and_country.yml +7 -7
  264. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/name_with_affiliation_crossref.yml +112 -0
  265. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/name_with_role.yml +9 -9
  266. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_one_author/only_familyName_and_givenName.yml +10 -10
  267. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/BlogPosting.yml +19 -19
  268. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/BlogPosting_with_new_DOI.yml +19 -19
  269. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/get_schema_org_metadata_front_matter/BlogPosting.yml +21 -21
  270. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/harvard_dataverse.yml +7 -7
  271. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/pangaea.yml +10 -10
  272. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_schema_org_metadata/zenodo.yml +10 -10
  273. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_series_information/only_title.yml +6 -6
  274. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_series_information/title_and_pages.yml +7 -7
  275. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_series_information/title_volume_and_pages.yml +6 -6
  276. data/spec/fixtures/vcr_cassettes/Briard_Metadata/get_series_information/title_volume_issue_and_pages.yml +6 -6
  277. data/spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_as_cff_url.yml +6 -6
  278. data/spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_as_codemeta_url.yml +6 -6
  279. data/spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_from_url.yml +7 -7
  280. data/spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_from_url_cff_file.yml +7 -7
  281. data/spec/fixtures/vcr_cassettes/Briard_Metadata/github/github_from_url_file.yml +7 -7
  282. data/spec/fixtures/vcr_cassettes/Briard_Metadata/handle_input/DOI_RA_not_Crossref_or_DataCite.yml +5 -7
  283. data/spec/fixtures/vcr_cassettes/Briard_Metadata/handle_input/unknown_DOI_prefix.yml +5 -7
  284. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_contributors/none.yml +9 -9
  285. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_creators/insert.yml +9 -9
  286. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_dates/insert.yml +9 -9
  287. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_descriptions/insert.yml +9 -9
  288. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_identifier/doi.yml +9 -9
  289. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_language/insert.yml +9 -9
  290. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_person/creator_only_name.yml +9 -9
  291. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_publication_year/insert.yml +9 -9
  292. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_publisher/insert.yml +9 -9
  293. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_related_identifiers/insert.yml +9 -9
  294. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_related_identifiers/related_identifier.yml +9 -9
  295. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_resource_type/insert.yml +9 -9
  296. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_rights_list/insert.yml +9 -9
  297. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_sizes/insert.yml +9 -9
  298. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_subjects/insert.yml +9 -9
  299. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_titles/insert.yml +9 -9
  300. data/spec/fixtures/vcr_cassettes/Briard_Metadata/insert_version/insert.yml +9 -9
  301. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_comma.yml +7 -7
  302. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_family_name.yml +7 -7
  303. data/spec/fixtures/vcr_cassettes/Briard_Metadata/{doi_api_url/dx_doi_org_url.yml → is_personal_name_/has_family_name_crossref.yml} +6 -6
  304. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_id.yml +6 -6
  305. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_known_given_name.yml +6 -6
  306. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_no_info.yml +7 -7
  307. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_orcid_id.yml +6 -6
  308. data/spec/fixtures/vcr_cassettes/Briard_Metadata/is_personal_name_/has_type_organization.yml +6 -6
  309. data/spec/fixtures/vcr_cassettes/Briard_Metadata/jsonlint/missing_comma.yml +14 -16
  310. data/spec/fixtures/vcr_cassettes/Briard_Metadata/jsonlint/nil.yml +14 -16
  311. data/spec/fixtures/vcr_cassettes/Briard_Metadata/jsonlint/overlapping_keys.yml +14 -16
  312. data/spec/fixtures/vcr_cassettes/Briard_Metadata/jsonlint/valid.yml +14 -16
  313. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_cc_url/not_found.yml +7 -7
  314. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_cc_url/with_trailing_slash.yml +6 -6
  315. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_cc_url/with_trailing_slash_and_to_https.yml +7 -7
  316. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/SICI_doi.yml +6 -6
  317. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/doi.yml +6 -6
  318. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/doi_force_datacite_sandbox.yml +7 -7
  319. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/doi_from_datacite_sandbox.yml +7 -7
  320. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/doi_from_url_without_doi_proxy.yml +6 -6
  321. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/doi_prefix_too_long.yml +6 -6
  322. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/doi_prefix_with_string.yml +7 -7
  323. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/doi_with_protocol.yml +7 -7
  324. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/dx_doi_org_url.yml +7 -7
  325. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/https_url.yml +7 -7
  326. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/not_valid_doi_prefix.yml +6 -6
  327. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_doi/url_with_one_slash.yml +6 -6
  328. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/doi.yml +6 -6
  329. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/doi_as_url.yml +6 -6
  330. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/ftp.yml +6 -6
  331. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/invalid_url.yml +6 -6
  332. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/sandbox_via_options.yml +6 -6
  333. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/sandbox_via_url.yml +7 -7
  334. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/string.yml +6 -6
  335. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/url.yml +6 -6
  336. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_id/url_with_utf-8.yml +7 -7
  337. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_ids/doi.yml +6 -6
  338. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_ids/url.yml +6 -6
  339. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_issn/from_array.yml +6 -6
  340. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_issn/from_empty_array.yml +7 -7
  341. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_issn/from_hash.yml +7 -7
  342. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_issn/from_string.yml +7 -7
  343. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_url/uri.yml +6 -6
  344. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_url/with_trailing_slash.yml +6 -6
  345. data/spec/fixtures/vcr_cassettes/Briard_Metadata/normalize_url/with_trailing_slash_and_to_https.yml +6 -6
  346. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/array.yml +6 -6
  347. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/array_of_strings.yml +7 -7
  348. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/first.yml +6 -6
  349. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/hash.yml +6 -6
  350. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/nil.yml +6 -6
  351. data/spec/fixtures/vcr_cassettes/Briard_Metadata/parse_attributes/string.yml +6 -6
  352. data/spec/fixtures/vcr_cassettes/Briard_Metadata/random_doi/decode_anothe_doi.yml +6 -6
  353. data/spec/fixtures/vcr_cassettes/Briard_Metadata/random_doi/decode_doi.yml +6 -6
  354. data/spec/fixtures/vcr_cassettes/Briard_Metadata/random_doi/encode_doi.yml +6 -6
  355. data/spec/fixtures/vcr_cassettes/Briard_Metadata/sanitize/onlies_keep_specific_tags.yml +7 -7
  356. data/spec/fixtures/vcr_cassettes/Briard_Metadata/sanitize/removes_a_tags.yml +6 -6
  357. data/spec/fixtures/vcr_cassettes/Briard_Metadata/spdx/hsh_to_spdx_id.yml +7 -7
  358. data/spec/fixtures/vcr_cassettes/Briard_Metadata/spdx/hsh_to_spdx_not_found.yml +7 -7
  359. data/spec/fixtures/vcr_cassettes/Briard_Metadata/spdx/hsh_to_spdx_url.yml +6 -6
  360. data/spec/fixtures/vcr_cassettes/Briard_Metadata/spdx/name_to_spdx_exists.yml +6 -6
  361. data/spec/fixtures/vcr_cassettes/Briard_Metadata/spdx/name_to_spdx_id.yml +6 -6
  362. data/spec/fixtures/vcr_cassettes/Briard_Metadata/to_schema_org/with_id.yml +6 -6
  363. data/spec/fixtures/vcr_cassettes/Briard_Metadata/to_schema_org_identifiers/with_identifiers.yml +6 -6
  364. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_doi/doi.yml +6 -6
  365. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_10.yml +7 -7
  366. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_11.yml +6 -6
  367. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_12.yml +7 -7
  368. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_13.yml +6 -6
  369. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_14.yml +7 -7
  370. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_4.yml +7 -7
  371. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_5.yml +6 -6
  372. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_6.yml +7 -7
  373. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_7.yml +6 -6
  374. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_8.yml +6 -6
  375. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/1_7_9.yml +6 -6
  376. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/funder_doi.yml +6 -6
  377. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/funder_doi_without_prefix.yml +6 -6
  378. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_funder_doi/non-funder_doi.yml +6 -6
  379. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid.yml +7 -7
  380. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_https.yml +6 -6
  381. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_id.yml +7 -7
  382. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_sandbox.yml +6 -6
  383. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_sandbox_https.yml +7 -7
  384. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_with_spaces.yml +6 -6
  385. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_wrong_id.yml +7 -7
  386. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid/validate_orcid_www.yml +7 -7
  387. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid_scheme/validate_orcid_scheme.yml +7 -7
  388. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid_scheme/validate_orcid_scheme_https.yml +6 -6
  389. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid_scheme/validate_orcid_scheme_trailing_slash.yml +7 -7
  390. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_orcid_scheme/validate_orcid_scheme_www.yml +6 -6
  391. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_prefix/doi.yml +6 -6
  392. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_prefix/doi_as_url.yml +6 -6
  393. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_prefix/doi_with_protocol.yml +7 -7
  394. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_prefix/only_prefix.yml +7 -7
  395. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_url/DOI.yml +6 -6
  396. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_url/ISSN.yml +6 -6
  397. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_url/URL.yml +6 -6
  398. data/spec/fixtures/vcr_cassettes/Briard_Metadata/validate_url/string.yml +7 -7
  399. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/BlogPosting.yml +9 -9
  400. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/Dataset.yml +9 -9
  401. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/authors_with_affiliations.yml +8 -8
  402. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/climate_data.yml +9 -9
  403. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/from_schema_org.yml +19 -19
  404. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/keywords_subject_scheme.yml +9 -9
  405. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/maremma.yml +9 -9
  406. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/text.yml +9 -9
  407. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/with_data_citation.yml +6 -6
  408. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_bibtex/with_pages.yml +6 -6
  409. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_cff/Collection_of_Jupyter_notebooks.yml +9 -9
  410. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_cff/SoftwareSourceCode_Zenodo.yml +9 -9
  411. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_cff/SoftwareSourceCode_also_Zenodo.yml +9 -9
  412. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_cff/ruby-cff.yml +12 -12
  413. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/Dataset.yml +9 -9
  414. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/Journal_article.yml +6 -6
  415. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/Journal_article_vancouver_style.yml +6 -6
  416. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/Missing_author.yml +6 -6
  417. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/interactive_resource_without_dates.yml +9 -9
  418. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citation/software_w/version.yml +9 -9
  419. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/Another_dataset.yml +9 -9
  420. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/BlogPosting.yml +9 -9
  421. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/BlogPosting_schema_org.yml +19 -19
  422. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/Dataset.yml +9 -9
  423. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/container_title.yml +9 -9
  424. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/interactive_resource_without_dates.yml +9 -9
  425. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/journal_article.yml +6 -6
  426. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/keywords_subject_scheme.yml +9 -9
  427. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/maremma.yml +9 -9
  428. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/missing_creator.yml +6 -6
  429. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/multiple_abstracts.yml +9 -9
  430. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/organization_author.yml +6 -6
  431. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/software.yml +9 -9
  432. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/software_w/version.yml +9 -9
  433. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/with_only_first_page.yml +6 -6
  434. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_citeproc/with_pages.yml +6 -6
  435. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite.yml +9 -9
  436. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_codemeta/SoftwareSourceCode_DataCite_check_codemeta_v2.yml +9 -9
  437. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crosscite/datacite_database_attributes.yml +9 -9
  438. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crosscite/maremma.yml +11 -11
  439. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crosscite/with_ORCID_ID.yml +6 -6
  440. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crosscite/with_data_citation.yml +6 -6
  441. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/another_schema_org_from_front-matter.yml +21 -21
  442. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/journal_article_from_datacite.yml +9 -9
  443. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/posted_content.yml +11 -13
  444. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/schema_org_from_another_science_blog.yml +10 -14
  445. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/schema_org_from_front_matter.yml +20 -20
  446. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csv/climate_data.yml +9 -9
  447. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csv/maremma.yml +9 -9
  448. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csv/text.yml +9 -9
  449. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csv/with_data_citation.yml +6 -6
  450. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_csv/with_pages.yml +6 -6
  451. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_json/from_schema_org.yml +19 -19
  452. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_json/maremma.yml +11 -11
  453. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_json/with_ORCID_ID.yml +8 -8
  454. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_json/with_data_citation.yml +6 -6
  455. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/DOI_not_found.yml +8 -8
  456. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/Dataset_in_schema_4_0.yml +9 -9
  457. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/Text_pass-thru.yml +9 -9
  458. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/Text_pass-thru_with_doi_in_options.yml +9 -9
  459. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/maremma.yml +9 -9
  460. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/with_ORCID_ID.yml +6 -6
  461. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/with_data_citation.yml +6 -6
  462. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/with_editor.yml +8 -8
  463. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/with_version.yml +9 -9
  464. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/Dataset_in_schema_4_0.yml +9 -9
  465. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/Text_pass-thru.yml +9 -9
  466. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/book_chapter.yml +8 -8
  467. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/from_schema_org.yml +19 -19
  468. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/interactive_resource_without_dates.yml +9 -9
  469. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/maremma.yml +9 -9
  470. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/with_ORCID_ID.yml +6 -6
  471. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/with_data_citation.yml +6 -6
  472. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/with_editor.yml +8 -8
  473. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_rdf_xml/BlogPosting.yml +9 -9
  474. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_rdf_xml/BlogPosting_schema_org.yml +19 -19
  475. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_rdf_xml/journal_article.yml +6 -6
  476. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_rdf_xml/maremma.yml +9 -9
  477. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_rdf_xml/with_pages.yml +6 -6
  478. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/BlogPosting.yml +9 -9
  479. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/BlogPosting_schema_org.yml +19 -19
  480. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/Dataset.yml +9 -9
  481. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/alternate_name.yml +9 -9
  482. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/journal_article.yml +6 -6
  483. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/keywords_with_subject_scheme.yml +9 -9
  484. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/maremma.yml +11 -11
  485. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_ris/with_pages.yml +8 -8
  486. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Another_Schema_org_JSON.yml +9 -9
  487. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Funding.yml +14 -16
  488. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Funding_OpenAIRE.yml +14 -16
  489. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Schema_org_JSON.yml +9 -9
  490. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Schema_org_JSON_Cyark.yml +14 -16
  491. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Schema_org_JSON_IsSupplementTo.yml +14 -16
  492. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/alternate_identifiers.yml +9 -9
  493. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/data_catalog.yml +9 -9
  494. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/geo_location_box.yml +9 -9
  495. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/interactive_resource_without_dates.yml +9 -9
  496. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/journal_article.yml +6 -6
  497. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/maremma_schema_org_JSON.yml +9 -9
  498. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/series_information.yml +9 -9
  499. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/subject_scheme.yml +9 -9
  500. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/subject_scheme_multiple_keywords.yml +9 -9
  501. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_turtle/BlogPosting.yml +9 -9
  502. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_turtle/BlogPosting_schema_org.yml +19 -19
  503. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_turtle/Dataset.yml +9 -9
  504. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_turtle/journal_article.yml +6 -6
  505. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_turtle/with_pages.yml +8 -8
  506. data/spec/readers/cff_reader_spec.rb +9 -9
  507. data/spec/readers/citeproc_reader_spec.rb +2 -2
  508. data/spec/readers/codemeta_reader_spec.rb +3 -4
  509. data/spec/readers/crossref_json_reader_spec.rb +1237 -0
  510. data/spec/readers/crossref_reader_spec.rb +59 -66
  511. data/spec/readers/datacite_json_reader_spec.rb +1 -1
  512. data/spec/readers/datacite_reader_spec.rb +53 -82
  513. data/spec/readers/npm_reader_spec.rb +2 -2
  514. data/spec/readers/ris_reader_spec.rb +2 -5
  515. data/spec/readers/schema_org_reader_spec.rb +8 -13
  516. data/spec/writers/bibtex_writer_spec.rb +2 -2
  517. data/spec/writers/cff_writer_spec.rb +1 -1
  518. data/spec/writers/citation_writer_spec.rb +2 -2
  519. data/spec/writers/citeproc_writer_spec.rb +1 -1
  520. data/spec/writers/codemeta_writer_spec.rb +1 -1
  521. data/spec/writers/crosscite_writer_spec.rb +4 -5
  522. data/spec/writers/crossref_writer_spec.rb +16 -18
  523. data/spec/writers/datacite_json_writer_spec.rb +2 -4
  524. data/spec/writers/datacite_writer_spec.rb +7 -9
  525. data/spec/writers/schema_org_writer_spec.rb +8 -9
  526. metadata +65 -37
  527. data/spec/fixtures/vcr_cassettes/Briard_Metadata/doi_api_url/force_test_resolver.yml +0 -65
  528. data/spec/fixtures/vcr_cassettes/Briard_Metadata/sanitize/should_remove_a_tags.yml +0 -65
  529. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crosscite/with_data_citation_schema_org.yml +0 -106
  530. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_crossref/schema_org_from_zenodo.yml +0 -62
  531. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_json/with_data_citation_schema_org.yml +0 -108
  532. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_datacite_xml/with_data_citation_schema_org.yml +0 -106
  533. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_jats_xml/with_data_citation_schema_org.yml +0 -106
  534. data/spec/fixtures/vcr_cassettes/Briard_Metadata/write_metadata_as_schema_org/Schema_org_JSON_isReferencedBy.yml +0 -73
@@ -54,32 +54,29 @@ describe Briard::Metadata, vcr: true do
54
54
  { 'funderIdentifier' => 'https://doi.org/10.13039/501100006390',
55
55
  'funderIdentifierType' => 'Crossref Funder ID',
56
56
  'funderName' => 'University of Lausanne' }])
57
- expect(subject.agency).to eq('crossref')
57
+ expect(subject.agency).to eq('Crossref')
58
58
  end
59
59
 
60
60
  it 'journal article' do
61
61
  input = 'https://doi.org/10.1371/journal.pone.0000030'
62
- subject = described_class.new(input: input)
62
+ subject = described_class.new(input: input, from: 'crossref_json')
63
63
  expect(subject.valid?).to be true
64
64
  expect(subject.id).to eq('https://doi.org/10.1371/journal.pone.0000030')
65
- expect(subject.identifiers).to eq([{ 'identifier' => '10.1371/journal.pone.0000030',
66
- 'identifierType' => 'Publisher ID' }])
67
65
  expect(subject.url).to eq('https://dx.plos.org/10.1371/journal.pone.0000030')
68
66
  expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
69
67
  'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
70
68
  expect(subject.creators.length).to eq(5)
71
- expect(subject.creators.first).to eq('nameType' => 'Personal', 'name' => 'Ralser, Markus',
72
- 'givenName' => 'Markus', 'familyName' => 'Ralser')
69
+ expect(subject.creators.first).to eq('name' => 'Ralser, Markus', 'givenName' => 'Markus', 'familyName' => 'Ralser', 'nameType' => 'Personal')
73
70
  expect(subject.contributors).to eq([{ 'contributorType' => 'Editor', 'familyName' => 'Janbon',
74
- 'givenName' => 'Guilhem', 'name' => 'Janbon, Guilhem', 'nameType' => 'Personal' }])
75
- expect(subject.titles).to eq([{ 'title' => 'Triose Phosphate Isomerase Deficiency Is Caused by Altered Dimerization???Not Catalytic Inactivity???of the Mutant Enzymes' }])
71
+ 'givenName' => 'Guilhem', 'name' => 'Janbon, Guilhem', "nameType"=>"Personal" }])
72
+ expect(subject.titles).to eq([{ 'title' => "Triose Phosphate Isomerase Deficiency Is Caused by Altered DimerizationNot Catalytic Inactivityof the Mutant Enzymes"}])
76
73
  expect(subject.rights_list).to eq([{ 'rights' => 'Creative Commons Attribution 4.0 International',
77
74
  'rightsIdentifier' => 'cc-by-4.0',
78
75
  'rightsIdentifierScheme' => 'SPDX',
79
76
  'rightsUri' => 'https://creativecommons.org/licenses/by/4.0/legalcode',
80
77
  'schemeUri' => 'https://spdx.org/licenses/' }])
81
78
  expect(subject.dates).to eq([{ 'date' => '2006-12-20', 'dateType' => 'Issued' },
82
- { 'date' => '2021-08-06T23:49:55Z', 'dateType' => 'Updated' }])
79
+ { 'date' => '2021-08-06', 'dateType' => 'Updated' }])
83
80
  expect(subject.publication_year).to eq('2006')
84
81
  expect(subject.publisher).to eq('Public Library of Science (PLoS)')
85
82
  expect(subject.related_identifiers.length).to eq(68)
@@ -90,22 +87,19 @@ describe Briard::Metadata, vcr: true do
90
87
  )
91
88
  expect(subject.container).to eq('firstPage' => 'e30', 'identifier' => '1932-6203',
92
89
  'identifierType' => 'ISSN', 'issue' => '1', 'title' => 'PLoS ONE', 'type' => 'Journal', 'volume' => '1')
93
- expect(subject.agency).to eq('crossref')
90
+ expect(subject.agency).to eq('Crossref')
94
91
  end
95
92
 
96
93
  it 'journal article with funding' do
97
94
  input = 'https://doi.org/10.3389/fpls.2019.00816'
98
- subject = described_class.new(input: input)
95
+ subject = described_class.new(input: input, from: 'crossref_json')
99
96
  expect(subject.valid?).to be true
100
97
  expect(subject.id).to eq('https://doi.org/10.3389/fpls.2019.00816')
101
- expect(subject.identifiers).to eq([{ 'identifier' => '816',
102
- 'identifierType' => 'article_number' }])
103
98
  expect(subject.url).to eq('https://www.frontiersin.org/article/10.3389/fpls.2019.00816/full')
104
99
  expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
105
100
  'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
106
101
  expect(subject.creators.length).to eq(4)
107
- expect(subject.creators.first).to eq('familyName' => 'Fortes', 'givenName' => 'Ana Margarida',
108
- 'name' => 'Fortes, Ana Margarida', 'nameType' => 'Personal')
102
+ expect(subject.creators.first).to eq('familyName' => 'Fortes', 'givenName' => 'Ana Margarida', 'name' => 'Fortes, Ana Margarida')
109
103
  expect(subject.titles).to eq([{ 'title' => 'Transcriptional Modulation of Polyamine Metabolism in Fruit Species Under Abiotic and Biotic Stress' }])
110
104
  expect(subject.rights_list).to eq([{ 'rights' => 'Creative Commons Attribution 4.0 International',
111
105
  'rightsIdentifier' => 'cc-by-4.0',
@@ -113,7 +107,7 @@ describe Briard::Metadata, vcr: true do
113
107
  'rightsUri' => 'https://creativecommons.org/licenses/by/4.0/legalcode',
114
108
  'schemeUri' => 'https://spdx.org/licenses/' }])
115
109
  expect(subject.dates).to eq([{ 'date' => '2019-07-02', 'dateType' => 'Issued' },
116
- { 'date' => '2019-09-22T02:40:23Z', 'dateType' => 'Updated' }])
110
+ { 'date' => '2019-09-22', 'dateType' => 'Updated' }])
117
111
  expect(subject.publication_year).to eq('2019')
118
112
  expect(subject.publisher).to eq('Frontiers Media SA')
119
113
  expect(subject.funding_references).to eq([{ 'awardNumber' => 'CA17111',
@@ -124,22 +118,21 @@ describe Briard::Metadata, vcr: true do
124
118
  expect(subject.related_identifiers.last).to eq(
125
119
  'relatedIdentifier' => '10.17660/actahortic.2004.632.41', 'relatedIdentifierType' => 'DOI', 'relationType' => 'References'
126
120
  )
127
- expect(subject.container).to eq('firstPage' => '816', 'identifier' => '1664-462X',
121
+ expect(subject.container).to eq('identifier' => '1664-462X',
128
122
  'identifierType' => 'ISSN', 'title' => 'Frontiers in Plant Science', 'type' => 'Journal', 'volume' => '10')
129
- expect(subject.agency).to eq('crossref')
123
+ expect(subject.agency).to eq('Crossref')
130
124
  end
131
125
 
132
126
  it 'journal article original language title' do
133
127
  input = 'https://doi.org/10.7600/jspfsm.56.60'
134
- subject = described_class.new(input: input)
128
+ subject = described_class.new(input: input, from: 'crossref_json')
135
129
  expect(subject.valid?).to be true
136
130
  expect(subject.id).to eq('https://doi.org/10.7600/jspfsm.56.60')
137
- expect(subject.url).to eq('https://www.jstage.jst.go.jp/article/jspfsm/56/1/56_1_60/_article/-char/ja/')
131
+ expect(subject.url).to eq('https://www.jstage.jst.go.jp/article/jspfsm/56/1/56_1_60/_article/-char/ja')
138
132
  expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
139
133
  'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
140
134
  expect(subject.creators).to eq([{ 'name' => ':(unav)', 'nameType' => 'Organizational' }])
141
- expect(subject.titles).to eq([{ 'lang' => 'ja',
142
- 'title' => '??????????????????????????????' }])
135
+ expect(subject.titles).to eq([{"title"=>":(unav)"}])
143
136
  expect(subject.dates).to include({ 'date' => '2007', 'dateType' => 'Issued' })
144
137
  expect(subject.publication_year).to eq('2007')
145
138
  expect(subject.publisher).to eq('The Japanese Society of Physical Fitness and Sports Medicine')
@@ -148,7 +141,7 @@ describe Briard::Metadata, vcr: true do
148
141
  'relatedIdentifierType' => 'ISSN', 'relationType' => 'IsPartOf', 'resourceTypeGeneral' => 'Collection')
149
142
  expect(subject.container).to eq('firstPage' => '60', 'identifier' => '1881-4751',
150
143
  'identifierType' => 'ISSN', 'issue' => '1', 'lastPage' => '60', 'title' => 'Japanese Journal of Physical Fitness and Sports Medicine', 'type' => 'Journal', 'volume' => '56')
151
- expect(subject.agency).to eq('crossref')
144
+ expect(subject.agency).to eq('Crossref')
152
145
  end
153
146
 
154
147
  it 'journal article with RDF for container' do
@@ -173,7 +166,7 @@ describe Briard::Metadata, vcr: true do
173
166
  'relatedIdentifierType' => 'DOI', 'relationType' => 'References')
174
167
  expect(subject.container).to eq('firstPage' => '949', 'identifier' => '1937-240X',
175
168
  'identifierType' => 'ISSN', 'issue' => '6', 'lastPage' => '961', 'title' => 'Journal of Crustacean Biology', 'type' => 'Journal', 'volume' => '32')
176
- expect(subject.agency).to eq('crossref')
169
+ expect(subject.agency).to eq('Crossref')
177
170
  end
178
171
 
179
172
  it 'book chapter with RDF for container' do
@@ -198,7 +191,7 @@ describe Briard::Metadata, vcr: true do
198
191
  )
199
192
  expect(subject.container).to eq('identifier' => '1611-3349', 'identifierType' => 'ISSN',
200
193
  'title' => 'Lecture Notes in Computer Science', 'type' => 'Book Series')
201
- expect(subject.agency).to eq('crossref')
194
+ expect(subject.agency).to eq('Crossref')
202
195
  end
203
196
 
204
197
  it 'posted_content' do
@@ -219,7 +212,7 @@ describe Briard::Metadata, vcr: true do
219
212
  expect(subject.dates).to include({ 'date' => '2017-10-09', 'dateType' => 'Issued' })
220
213
  expect(subject.publication_year).to eq('2017')
221
214
  expect(subject.publisher).to eq('Cold Spring Harbor Laboratory')
222
- expect(subject.agency).to eq('crossref')
215
+ expect(subject.agency).to eq('Crossref')
223
216
  end
224
217
 
225
218
  it 'peer review' do
@@ -228,7 +221,7 @@ describe Briard::Metadata, vcr: true do
228
221
  expect(subject.valid?).to be true
229
222
  expect(subject.url).to eq('https://elifesciences.org/articles/55167#sa2')
230
223
  expect(subject.types).to eq('bibtex' => 'misc', 'citeproc' => 'article-journal',
231
- 'resourceType' => 'PeerReview', 'resourceTypeGeneral' => 'PeerReview', 'ris' => 'JOUR', 'schemaOrg' => 'Review')
224
+ 'resourceType' => 'PeerReview', 'resourceTypeGeneral' => 'PeerReview', 'ris' => 'GEN', 'schemaOrg' => 'Review')
232
225
  expect(subject.creators.count).to eq(8)
233
226
  expect(subject.creators.last).to eq('affiliation' => [{ 'name' => 'Center for Computational Mathematics, Flatiron Institute, New York, United States' }],
234
227
  'familyName' => 'Barnett',
@@ -242,7 +235,7 @@ describe Briard::Metadata, vcr: true do
242
235
  expect(subject.dates).to include({ 'date' => '2020-05-19', 'dateType' => 'Issued' })
243
236
  expect(subject.publication_year).to eq('2020')
244
237
  expect(subject.publisher).to eq('eLife Sciences Publications, Ltd')
245
- expect(subject.agency).to eq('crossref')
238
+ expect(subject.agency).to eq('Crossref')
246
239
  end
247
240
 
248
241
  it 'dissertation' do
@@ -264,10 +257,10 @@ describe Briard::Metadata, vcr: true do
264
257
  expect(subject.id).to eq('https://doi.org/10.14264/uql.2020.791')
265
258
  expect(subject.identifiers.empty?).to be(true)
266
259
  expect(subject.descriptions.empty?).to be(true)
267
- expect(subject.dates).to include({ 'date' => '2020-06-08', 'dateType' => 'Issued' })
260
+ expect(subject.dates).to eq([{"date"=>"2020-06-08", "dateType"=>"Issued"}, {"date"=>"2020-06-08T05:08:59Z", "dateType"=>"Updated"}])
268
261
  expect(subject.publication_year).to eq('2020')
269
262
  expect(subject.publisher).to eq('University of Queensland Library')
270
- expect(subject.agency).to eq('crossref')
263
+ expect(subject.agency).to eq('Crossref')
271
264
  end
272
265
 
273
266
  it 'DOI with SICI DOI' do
@@ -285,7 +278,7 @@ describe Briard::Metadata, vcr: true do
285
278
  expect(subject.rights_list).to eq([{ 'rightsUri' => 'http://doi.wiley.com/10.1002/tdm_license_1.1' }])
286
279
  expect(subject.titles).to eq([{ 'title' => 'THE IMPACT OF PARASITE MANIPULATION AND PREDATOR FORAGING BEHAVIOR ON PREDATOR???PREY COMMUNITIES' }])
287
280
  expect(subject.dates).to eq([{ 'date' => '2006-11', 'dateType' => 'Issued' },
288
- { 'date' => '2019-04-28T13:51:50Z', 'dateType' => 'Updated' }])
281
+ { 'date' => '2019-04-28T17:51:50Z', 'dateType' => 'Updated' }])
289
282
  expect(subject.publication_year).to eq('2006')
290
283
  expect(subject.publisher).to eq('Wiley')
291
284
  expect(subject.related_identifiers.length).to eq(35)
@@ -295,7 +288,7 @@ describe Briard::Metadata, vcr: true do
295
288
  'relatedIdentifierType' => 'DOI', 'relationType' => 'References')
296
289
  expect(subject.container).to eq('firstPage' => '2832', 'identifier' => '0012-9658',
297
290
  'identifierType' => 'ISSN', 'issue' => '11', 'lastPage' => '2841', 'title' => 'Ecology', 'type' => 'Journal', 'volume' => '87')
298
- expect(subject.agency).to eq('crossref')
291
+ expect(subject.agency).to eq('Crossref')
299
292
  end
300
293
 
301
294
  it 'DOI with ORCID ID' do
@@ -325,7 +318,7 @@ describe Briard::Metadata, vcr: true do
325
318
  'relatedIdentifierType' => 'DOI', 'relationType' => 'References')
326
319
  expect(subject.container).to eq('firstPage' => '1', 'identifier' => '2090-1844',
327
320
  'identifierType' => 'ISSN', 'lastPage' => '7', 'title' => 'Pulmonary Medicine', 'type' => 'Journal', 'volume' => '2012')
328
- expect(subject.agency).to eq('crossref')
321
+ expect(subject.agency).to eq('Crossref')
329
322
  end
330
323
 
331
324
  it 'date in future' do
@@ -609,7 +602,7 @@ describe Briard::Metadata, vcr: true do
609
602
  'relationType' => 'References' }])
610
603
  expect(subject.container).to eq('firstPage' => '303', 'identifier' => '0014-2999',
611
604
  'identifierType' => 'ISSN', 'lastPage' => '312', 'title' => 'European Journal of Pharmacology', 'type' => 'Journal', 'volume' => '759')
612
- expect(subject.agency).to eq('crossref')
605
+ expect(subject.agency).to eq('Crossref')
613
606
  end
614
607
 
615
608
  it 'vor with url' do
@@ -632,7 +625,7 @@ describe Briard::Metadata, vcr: true do
632
625
  'relatedIdentifierType' => 'ISSN', 'relationType' => 'IsPartOf', 'resourceTypeGeneral' => 'Collection')
633
626
  expect(subject.container).to eq('firstPage' => '122', 'identifier' => '1365-2540',
634
627
  'identifierType' => 'ISSN', 'issue' => '2', 'lastPage' => '130', 'title' => 'Heredity', 'type' => 'Journal', 'volume' => '111')
635
- expect(subject.agency).to eq('crossref')
628
+ expect(subject.agency).to eq('Crossref')
636
629
  end
637
630
 
638
631
  it 'dataset' do
@@ -642,7 +635,7 @@ describe Briard::Metadata, vcr: true do
642
635
  expect(subject.id).to eq('https://doi.org/10.2210/pdb4hhb/pdb')
643
636
  expect(subject.url).to eq('https://www.wwpdb.org/pdb?id=pdb_00004hhb')
644
637
  expect(subject.types).to eq('bibtex' => 'misc', 'citeproc' => 'article-journal',
645
- 'resourceType' => 'SaComponent', 'resourceTypeGeneral' => 'Text', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
638
+ 'resourceType' => 'SaComponent', 'resourceTypeGeneral' => 'Text', 'ris' => 'GEN', 'schemaOrg' => 'CreativeWork')
646
639
  expect(subject.creators.length).to eq(2)
647
640
  expect(subject.creators.first).to eq('nameType' => 'Personal', 'name' => 'Fermi, G.',
648
641
  'givenName' => 'G.', 'familyName' => 'Fermi')
@@ -652,7 +645,7 @@ describe Briard::Metadata, vcr: true do
652
645
  expect(subject.dates).to include({ 'date' => '1984-07-17', 'dateType' => 'Issued' })
653
646
  expect(subject.publication_year).to eq('1984')
654
647
  expect(subject.publisher).to eq('Worldwide Protein Data Bank')
655
- expect(subject.agency).to eq('crossref')
648
+ expect(subject.agency).to eq('Crossref')
656
649
  end
657
650
 
658
651
  it 'component' do
@@ -662,15 +655,15 @@ describe Briard::Metadata, vcr: true do
662
655
  expect(subject.id).to eq('https://doi.org/10.1371/journal.pmed.0030277.g001')
663
656
  expect(subject.url).to eq('https://dx.plos.org/10.1371/journal.pmed.0030277.g001')
664
657
  expect(subject.types).to eq('bibtex' => 'misc', 'citeproc' => 'article-journal',
665
- 'resourceType' => 'SaComponent', 'resourceTypeGeneral' => 'Text', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
658
+ 'resourceType' => 'SaComponent', 'resourceTypeGeneral' => 'Text', 'ris' => 'GEN', 'schemaOrg' => 'CreativeWork')
666
659
  expect(subject.creators).to eq([{ 'name' => ':(unav)', 'nameType' => 'Organizational' }])
667
660
  expect(subject.titles).to eq([{ 'title' => ':(unav)' }])
668
661
  expect(subject.descriptions.empty?).to be(true)
669
662
  expect(subject.dates).to eq([{ 'date' => '2015-10-20', 'dateType' => 'Issued' },
670
- { 'date' => '2018-10-19T21:13:42Z', 'dateType' => 'Updated' }])
663
+ {"date"=>"2018-10-19T21:13:42Z", "dateType"=>"Updated"}])
671
664
  expect(subject.publication_year).to eq('2015')
672
665
  expect(subject.publisher).to eq('Public Library of Science (PLoS)')
673
- expect(subject.agency).to eq('crossref')
666
+ expect(subject.agency).to eq('Crossref')
674
667
  end
675
668
 
676
669
  it 'dataset usda' do
@@ -690,7 +683,7 @@ describe Briard::Metadata, vcr: true do
690
683
  { 'date' => '2021-07-01T22:10:21Z', 'dateType' => 'Updated' }])
691
684
  expect(subject.publication_year).to eq('2017')
692
685
  expect(subject.publisher).to eq('USDA Forest Service')
693
- expect(subject.agency).to eq('crossref')
686
+ expect(subject.agency).to eq('Crossref')
694
687
  end
695
688
 
696
689
  it 'book chapter' do
@@ -706,10 +699,10 @@ describe Briard::Metadata, vcr: true do
706
699
  'givenName' => 'Ronald L.', 'familyName' => 'Diercks')
707
700
  expect(subject.titles).to eq([{ 'title' => 'Clinical Symptoms and Physical Examinations' }])
708
701
  expect(subject.dates).to eq([{ 'date' => '2015', 'dateType' => 'Issued' },
709
- { 'date' => '2015-04-14T02:31:13Z', 'dateType' => 'Updated' }])
702
+ { 'date' => '2015-04-13T22:31:13Z', 'dateType' => 'Updated' }])
710
703
  expect(subject.publication_year).to eq('2015')
711
704
  expect(subject.publisher).to eq('Springer Science and Business Media LLC')
712
- expect(subject.agency).to eq('crossref')
705
+ expect(subject.agency).to eq('Crossref')
713
706
  expect(subject.container['type']).to eq('Book')
714
707
  expect(subject.container['title']).to eq('Shoulder Stiffness')
715
708
  expect(subject.container['firstPage']).to eq('155')
@@ -732,7 +725,7 @@ describe Briard::Metadata, vcr: true do
732
725
  expect(subject.dates).to include({ 'date' => '2018', 'dateType' => 'Issued' })
733
726
  expect(subject.publication_year).to eq('2018')
734
727
  expect(subject.publisher).to eq('Springer Science and Business Media LLC')
735
- expect(subject.agency).to eq('crossref')
728
+ expect(subject.agency).to eq('Crossref')
736
729
  expect(subject.container['type']).to eq('Book Series')
737
730
  expect(subject.container['title']).to eq('SpringerBriefs in Medical Earth Sciences')
738
731
  expect(subject.container['identifier']).to eq('2523-3629')
@@ -751,10 +744,10 @@ describe Briard::Metadata, vcr: true do
751
744
  'familyName' => 'Bichot', 'givenName' => 'Charles-Edmond', 'name' => 'Bichot, Charles-Edmond', 'nameType' => 'Personal' }])
752
745
  expect(subject.titles).to eq([{ 'title' => 'Unsupervised and Supervised Image Segmentation Using Graph Partitioning' }])
753
746
  expect(subject.dates).to eq([{ 'date' => '2012-08-08', 'dateType' => 'Issued' },
754
- { 'date' => '2019-07-02T13:17:21Z', 'dateType' => 'Updated' }])
747
+ {"date"=>"2019-07-02T13:17:21Z", "dateType"=>"Updated"}])
755
748
  expect(subject.publication_year).to eq('2012')
756
749
  expect(subject.publisher).to eq('IGI Global')
757
- expect(subject.agency).to eq('crossref')
750
+ expect(subject.agency).to eq('Crossref')
758
751
  expect(subject.container['type']).to eq('Book')
759
752
  expect(subject.container['title']).to eq('Graph-Based Methods in Computer Vision')
760
753
  expect(subject.container['firstPage']).to eq('72')
@@ -792,7 +785,7 @@ describe Briard::Metadata, vcr: true do
792
785
  { 'date' => '2021-07-22T10:05:05Z', 'dateType' => 'Updated' }])
793
786
  expect(subject.publication_year).to eq('2018')
794
787
  expect(subject.publisher).to eq('MDPI AG')
795
- expect(subject.agency).to eq('crossref')
788
+ expect(subject.agency).to eq('Crossref')
796
789
  end
797
790
 
798
791
  it 'book' do
@@ -809,10 +802,10 @@ describe Briard::Metadata, vcr: true do
809
802
  'name' => 'Leung, Vincent S.', 'nameType' => 'Personal' }])
810
803
  expect(subject.titles).to eq([{ 'title' => 'The Politics of the Past in Early China' }])
811
804
  expect(subject.dates).to eq([{ 'date' => '2019-07-01', 'dateType' => 'Issued' },
812
- { 'date' => '2021-01-08T19:18:57Z', 'dateType' => 'Updated' }])
805
+ { 'date' => '2022-09-22T13:22:42Z', 'dateType' => 'Updated' }])
813
806
  expect(subject.publication_year).to eq('2019')
814
807
  expect(subject.publisher).to eq('Cambridge University Press (CUP)')
815
- expect(subject.agency).to eq('crossref')
808
+ expect(subject.agency).to eq('Crossref')
816
809
  expect(subject.date_registered).to eq('2019-07-06T10:19:22Z')
817
810
  end
818
811
 
@@ -833,7 +826,7 @@ describe Briard::Metadata, vcr: true do
833
826
  { 'date' => '2009-02-02T21:19:43Z', 'dateType' => 'Updated' }])
834
827
  expect(subject.publication_year).to eq('2000')
835
828
  expect(subject.publisher).to eq('International Ocean Discovery Program (IODP)')
836
- expect(subject.agency).to eq('crossref')
829
+ expect(subject.agency).to eq('Crossref')
837
830
  expect(subject.date_registered).to eq('2006-10-17T20:17:44Z')
838
831
  end
839
832
 
@@ -860,7 +853,7 @@ describe Briard::Metadata, vcr: true do
860
853
  )
861
854
  expect(subject.container).to eq('identifier' => '0066-4634', 'identifierType' => 'ISSN',
862
855
  'title' => 'Antarctic Research Series', 'type' => 'Book Series', 'volume' => '35')
863
- expect(subject.agency).to eq('crossref')
856
+ expect(subject.agency).to eq('Crossref')
864
857
  expect(subject.date_registered.nil?).to be(true)
865
858
  end
866
859
 
@@ -881,7 +874,7 @@ describe Briard::Metadata, vcr: true do
881
874
  expect(subject.dates).to include({ 'date' => '2018-05', 'dateType' => 'Issued' })
882
875
  expect(subject.publication_year).to eq('2018')
883
876
  expect(subject.publisher).to eq('Franco Angeli')
884
- expect(subject.agency).to eq('crossref')
877
+ expect(subject.agency).to eq('Crossref')
885
878
  end
886
879
 
887
880
  it 'KISTI' do
@@ -899,7 +892,7 @@ describe Briard::Metadata, vcr: true do
899
892
  'name' => 'Huang, Guimei', 'nameType' => 'Personal')
900
893
  expect(subject.titles).to eq([{ 'title' => 'Synthesis, Crystal Structure and Theoretical Calculation of a Novel Nickel(II) Complex with Dibromotyrosine and 1,10-Phenanthroline' }])
901
894
  expect(subject.dates).to eq([{ 'date' => '2013-10-20', 'dateType' => 'Issued' },
902
- { 'date' => '2016-12-14T21:40:52Z', 'dateType' => 'Updated' }])
895
+ { 'date' => '2016-12-15T02:40:52Z', 'dateType' => 'Updated' }])
903
896
  expect(subject.publication_year).to eq('2013')
904
897
  expect(subject.publisher).to eq('Korean Chemical Society')
905
898
  expect(subject.agency).to eq('KISTI')
@@ -957,7 +950,7 @@ describe Briard::Metadata, vcr: true do
957
950
  expect(subject.dates).to include({ 'date' => '2014-12-14', 'dateType' => 'Issued' })
958
951
  expect(subject.publication_year).to eq('2014')
959
952
  expect(subject.publisher).to eq('OpenEdition')
960
- expect(subject.agency).to eq('crossref')
953
+ expect(subject.agency).to eq('Crossref')
961
954
  expect(subject.date_registered.nil?).to be(true)
962
955
  end
963
956
 
@@ -993,7 +986,7 @@ describe Briard::Metadata, vcr: true do
993
986
  expect(subject.dates).to include({ 'date' => '2006-07-25', 'dateType' => 'Issued' })
994
987
  expect(subject.publication_year).to eq('2006')
995
988
  expect(subject.publisher).to eq('Springer Science and Business Media LLC')
996
- expect(subject.agency).to eq('crossref')
989
+ expect(subject.agency).to eq('Crossref')
997
990
  expect(subject.date_registered).to eq('2021-08-31T17:31:49Z')
998
991
  end
999
992
 
@@ -1015,7 +1008,7 @@ describe Briard::Metadata, vcr: true do
1015
1008
  expect(subject.dates).to include({ 'date' => '2017-05-24', 'dateType' => 'Issued' })
1016
1009
  expect(subject.publication_year).to eq('2017')
1017
1010
  expect(subject.publisher).to eq('The Royal Society')
1018
- expect(subject.agency).to eq('crossref')
1011
+ expect(subject.agency).to eq('Crossref')
1019
1012
  expect(subject.date_registered).to eq('2021-02-14T10:36:45Z')
1020
1013
  end
1021
1014
 
@@ -1088,7 +1081,7 @@ describe Briard::Metadata, vcr: true do
1088
1081
  'relatedIdentifierType' => 'DOI', 'relationType' => 'References')
1089
1082
  expect(subject.container).to eq('firstPage' => '929', 'identifier' => '0028-646X',
1090
1083
  'identifierType' => 'ISSN', 'issue' => '3', 'lastPage' => '935', 'title' => 'New Phytologist', 'type' => 'Journal', 'volume' => '218')
1091
- expect(subject.agency).to eq('crossref')
1084
+ expect(subject.agency).to eq('Crossref')
1092
1085
  expect(subject.date_registered).to eq('2018-08-03T11:45:49Z')
1093
1086
  end
1094
1087
 
@@ -1107,7 +1100,7 @@ describe Briard::Metadata, vcr: true do
1107
1100
  expect(subject.dates).to include({ 'date' => '2017-04-03', 'dateType' => 'Issued' })
1108
1101
  expect(subject.publication_year).to eq('2017')
1109
1102
  expect(subject.publisher).to eq('Springer Science and Business Media LLC')
1110
- expect(subject.agency).to eq('crossref')
1103
+ expect(subject.agency).to eq('Crossref')
1111
1104
  expect(subject.date_registered).to eq('2019-11-02T09:30:06Z')
1112
1105
  end
1113
1106
 
@@ -1126,7 +1119,7 @@ describe Briard::Metadata, vcr: true do
1126
1119
  expect(subject.dates).to include({ 'date' => '2011-12-22', 'dateType' => 'Issued' })
1127
1120
  expect(subject.publication_year).to eq('2011')
1128
1121
  expect(subject.publisher).to eq('SAGE Publications')
1129
- expect(subject.agency).to eq('crossref')
1122
+ expect(subject.agency).to eq('Crossref')
1130
1123
  expect(subject.date_registered).to eq('2021-05-16T02:02:38Z')
1131
1124
  end
1132
1125
 
@@ -1147,7 +1140,7 @@ describe Briard::Metadata, vcr: true do
1147
1140
  expect(subject.publisher).to eq('Springer Science and Business Media LLC')
1148
1141
  expect(subject.container).to eq('identifier' => '1860-0808', 'identifierType' => 'ISSN',
1149
1142
  'title' => 'Studies in Fuzziness and Soft Computing', 'type' => 'Book Series')
1150
- expect(subject.agency).to eq('crossref')
1143
+ expect(subject.agency).to eq('Crossref')
1151
1144
  expect(subject.date_registered).to eq('2012-10-31T16:15:44Z')
1152
1145
  end
1153
1146
 
@@ -1168,7 +1161,7 @@ describe Briard::Metadata, vcr: true do
1168
1161
  expect(subject.publisher).to eq('American Physical Society (APS)')
1169
1162
  expect(subject.container).to eq('firstPage' => '117701', 'identifier' => '1079-7114',
1170
1163
  'identifierType' => 'ISSN', 'issue' => '11', 'title' => 'Physical Review Letters', 'type' => 'Journal', 'volume' => '120')
1171
- expect(subject.agency).to eq('crossref')
1164
+ expect(subject.agency).to eq('Crossref')
1172
1165
  expect(subject.date_registered).to eq('2018-03-13T15:18:48Z')
1173
1166
  end
1174
1167
 
@@ -1191,7 +1184,7 @@ describe Briard::Metadata, vcr: true do
1191
1184
  expect(subject.dates).to include({ 'date' => '2020-07-28', 'dateType' => 'Issued' })
1192
1185
  expect(subject.publication_year).to eq('2020')
1193
1186
  expect(subject.publisher).to eq('Copernicus GmbH')
1194
- expect(subject.agency).to eq('crossref')
1187
+ expect(subject.agency).to eq('Crossref')
1195
1188
  end
1196
1189
 
1197
1190
  it 'book oup' do
@@ -1214,7 +1207,7 @@ describe Briard::Metadata, vcr: true do
1214
1207
  expect(subject.dates).to include({ 'date' => '2018-04-05', 'dateType' => 'Issued' })
1215
1208
  expect(subject.publication_year).to eq('2018')
1216
1209
  expect(subject.publisher).to eq('Oxford University Press (OUP)')
1217
- expect(subject.agency).to eq('crossref')
1210
+ expect(subject.agency).to eq('Crossref')
1218
1211
  end
1219
1212
 
1220
1213
  it 'report osti' do
@@ -1238,7 +1231,7 @@ describe Briard::Metadata, vcr: true do
1238
1231
  expect(subject.dates).to include({ 'date' => '2010-01-01', 'dateType' => 'Issued' })
1239
1232
  expect(subject.publication_year).to eq('2010')
1240
1233
  expect(subject.publisher).to eq('Office of Scientific and Technical Information (OSTI)')
1241
- expect(subject.agency).to eq('crossref')
1234
+ expect(subject.agency).to eq('Crossref')
1242
1235
  end
1243
1236
 
1244
1237
  it 'journal issue' do
@@ -1260,7 +1253,7 @@ describe Briard::Metadata, vcr: true do
1260
1253
  'relatedIdentifierType' => 'ISSN', 'relationType' => 'IsPartOf', 'resourceTypeGeneral' => 'Collection')
1261
1254
  expect(subject.container).to eq('identifier' => '2146-8427', 'identifierType' => 'ISSN',
1262
1255
  'issue' => '5', 'title' => 'Experimental and Clinical Transplantation', 'type' => 'Journal', 'volume' => '16')
1263
- expect(subject.agency).to eq('crossref')
1256
+ expect(subject.agency).to eq('Crossref')
1264
1257
  end
1265
1258
 
1266
1259
  it 'not found error' do
@@ -1269,7 +1262,7 @@ describe Briard::Metadata, vcr: true do
1269
1262
  expect(subject.valid?).to be false
1270
1263
  expect(subject.id).to eq('https://doi.org/10.7554/elife.01567x')
1271
1264
  expect(subject.doi).to eq('10.7554/elife.01567x')
1272
- expect(subject.agency).to eq('crossref')
1265
+ expect(subject.agency).to eq('Crossref')
1273
1266
  expect(subject.state).to eq('not_found')
1274
1267
  end
1275
1268
  end
@@ -74,7 +74,7 @@ describe Briard::Metadata, vcr: true do
74
74
  'resourceTypeGeneral' => 'Software', 'ris' => 'COMP', 'schemaOrg' => 'SoftwareSourceCode')
75
75
  expect(subject.creators.length).to eq(2)
76
76
  expect(subject.creators.first).to eq('affiliation' => [{ 'name' => 'University of Washington' }],
77
- 'familyName' => 'Vanderplas', 'givenName' => 'Jake', 'name' => 'Vanderplas, Jake', 'nameIdentifiers' => [], 'nameType' => 'Personal')
77
+ 'familyName' => 'Vanderplas', 'givenName' => 'Jake', 'name' => 'Vanderplas, Jake', 'nameType' => 'Personal')
78
78
  expect(subject.titles).to eq([{ 'title' => 'Supersmoother: Minor Bug Fix Release' }])
79
79
  expect(subject.id).to eq('https://doi.org/10.5281/zenodo.28518')
80
80
  expect(subject.identifiers).to eq([{ 'identifier' => 'https://zenodo.org/record/28518',