spec/readers/crossref_reader_spec.rb in briard-2.4.2 vs spec/readers/crossref_reader_spec.rb in briard-2.6.0
- old
+ new
@@ -1,1117 +1,1276 @@
# frozen_string_literal: true
require 'spec_helper'
describe Briard::Metadata, vcr: true do
- let(:input) { "10.7554/eLife.01567" }
+ subject { described_class.new(input: input) }
- subject { Briard::Metadata.new(input: input) }
+ let(:input) { '10.7554/eLife.01567' }
- context "get crossref raw" do
- it "journal article" do
- input = fixture_path + 'crossref.xml'
- subject = Briard::Metadata.new(input: input)
- expect(subject.raw).to eq(IO.read(input).strip)
+ context 'get crossref raw' do
+ it 'journal article' do
+ input = "#{fixture_path}crossref.xml"
+ subject = described_class.new(input: input)
+ expect(subject.raw).to eq(File.read(input).strip)
end
end
- context "get crossref metadata" do
- it "DOI with data citation" do
+ context 'get crossref metadata' do
+ it 'DOI with data citation' do
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.7554/elife.01567")
- expect(subject.identifiers).to eq([{"identifier"=>"e01567", "identifierType"=>"article_number"}])
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
- expect(subject.url).to eq("https://elifesciences.org/articles/01567")
+ expect(subject.id).to eq('https://doi.org/10.7554/elife.01567')
+ expect(subject.identifiers).to eq([{ 'identifier' => 'e01567',
+ 'identifierType' => 'article_number' }])
+ expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
+ 'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
+ expect(subject.url).to eq('https://elifesciences.org/articles/01567')
expect(subject.creators.length).to eq(5)
- expect(subject.creators.first).to eq("nameType"=>"Personal", "name"=>"Sankar, Martial", "givenName"=>"Martial", "familyName"=>"Sankar", "affiliation" => [{"name"=>"Department of Plant Molecular Biology, University of Lausanne, Lausanne, Switzerland"}])
- expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution 3.0 Unported",
- "rightsIdentifier"=>"cc-by-3.0",
- "rightsIdentifierScheme"=>"SPDX",
- "rightsUri"=>"https://creativecommons.org/licenses/by/3.0/legalcode",
- "schemeUri"=>"https://spdx.org/licenses/"}])
- expect(subject.titles).to eq([{"title"=>"Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth"}])
- expect(subject.dates).to eq([{"date"=>"2014-02-11", "dateType"=>"Issued"}, {"date"=>"2022-03-26T09:21:50Z", "dateType"=>"Updated"}])
- expect(subject.publication_year).to eq("2014")
- expect(subject.publisher).to eq("eLife Sciences Publications, Ltd")
- expect(subject.container).to eq("firstPage" => "e01567", "identifier"=>"2050-084X", "identifierType"=>"ISSN", "title"=>"eLife", "type"=>"Journal", "volume"=>"3")
+ expect(subject.creators.first).to eq('nameType' => 'Personal', 'name' => 'Sankar, Martial',
+ 'givenName' => 'Martial', 'familyName' => 'Sankar', 'affiliation' => [{ 'name' => 'Department of Plant Molecular Biology, University of Lausanne, Lausanne, Switzerland' }])
+ expect(subject.rights_list).to eq([{ 'rights' => 'Creative Commons Attribution 3.0 Unported',
+ 'rightsIdentifier' => 'cc-by-3.0',
+ 'rightsIdentifierScheme' => 'SPDX',
+ 'rightsUri' => 'https://creativecommons.org/licenses/by/3.0/legalcode',
+ 'schemeUri' => 'https://spdx.org/licenses/' }])
+ expect(subject.titles).to eq([{ 'title' => 'Automated quantitative histology reveals vascular morphodynamics during Arabidopsis hypocotyl secondary growth' }])
+ expect(subject.dates).to eq([{ 'date' => '2014-02-11', 'dateType' => 'Issued' },
+ { 'date' => '2022-03-26T09:21:50Z', 'dateType' => 'Updated' }])
+ expect(subject.publication_year).to eq('2014')
+ expect(subject.publisher).to eq('eLife Sciences Publications, Ltd')
+ expect(subject.container).to eq('firstPage' => 'e01567', 'identifier' => '2050-084X',
+ 'identifierType' => 'ISSN', 'title' => 'eLife', 'type' => 'Journal', 'volume' => '3')
expect(subject.related_identifiers.length).to eq(28)
- expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"2050-084X", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
- expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.1038/ncb2764", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
- expect(subject.funding_references).to eq([{"funderName"=>"SystemsX"},
- {"funderIdentifier"=>"https://doi.org/10.13039/501100003043",
- "funderIdentifierType"=>"Crossref Funder ID",
- "funderName"=>"EMBO"},
- {"funderIdentifier"=>"https://doi.org/10.13039/501100001711",
- "funderIdentifierType"=>"Crossref Funder ID",
- "funderName"=>"Swiss National Science Foundation"},
- {"funderIdentifier"=>"https://doi.org/10.13039/501100006390",
- "funderIdentifierType"=>"Crossref Funder ID",
- "funderName"=>"University of Lausanne"}])
- expect(subject.agency).to eq("crossref")
+ expect(subject.related_identifiers.first).to eq('relatedIdentifier' => '2050-084X',
+ 'relatedIdentifierType' => 'ISSN', 'relationType' => 'IsPartOf', 'resourceTypeGeneral' => 'Collection')
+ expect(subject.related_identifiers.last).to eq('relatedIdentifier' => '10.1038/ncb2764',
+ 'relatedIdentifierType' => 'DOI', 'relationType' => 'References')
+ expect(subject.funding_references).to eq([{ 'funderName' => 'SystemsX' },
+ { 'funderIdentifier' => 'https://doi.org/10.13039/501100003043',
+ 'funderIdentifierType' => 'Crossref Funder ID',
+ 'funderName' => 'EMBO' },
+ { 'funderIdentifier' => 'https://doi.org/10.13039/501100001711',
+ 'funderIdentifierType' => 'Crossref Funder ID',
+ 'funderName' => 'Swiss National Science Foundation' },
+ { 'funderIdentifier' => 'https://doi.org/10.13039/501100006390',
+ 'funderIdentifierType' => 'Crossref Funder ID',
+ 'funderName' => 'University of Lausanne' }])
+ expect(subject.agency).to eq('crossref')
end
- it "journal article" do
- input = "https://doi.org/10.1371/journal.pone.0000030"
- subject = Briard::Metadata.new(input: input)
+ it 'journal article' do
+ input = 'https://doi.org/10.1371/journal.pone.0000030'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.1371/journal.pone.0000030")
- expect(subject.identifiers).to eq([{"identifier"=>"10.1371/journal.pone.0000030", "identifierType"=>"Publisher ID"}])
- expect(subject.url).to eq("https://dx.plos.org/10.1371/journal.pone.0000030")
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
+ expect(subject.id).to eq('https://doi.org/10.1371/journal.pone.0000030')
+ expect(subject.identifiers).to eq([{ 'identifier' => '10.1371/journal.pone.0000030',
+ 'identifierType' => 'Publisher ID' }])
+ expect(subject.url).to eq('https://dx.plos.org/10.1371/journal.pone.0000030')
+ expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
+ 'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
expect(subject.creators.length).to eq(5)
- expect(subject.creators.first).to eq("nameType"=>"Personal", "name"=>"Ralser, Markus", "givenName"=>"Markus", "familyName"=>"Ralser")
- expect(subject.contributors).to eq([{"contributorType"=>"Editor", "familyName"=>"Janbon", "givenName"=>"Guilhem", "name"=>"Janbon, Guilhem", "nameType"=>"Personal"}])
- expect(subject.titles).to eq([{"title"=>"Triose Phosphate Isomerase Deficiency Is Caused by Altered Dimerization???Not Catalytic Inactivity???of the Mutant Enzymes"}])
- expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution 4.0 International",
- "rightsIdentifier"=>"cc-by-4.0",
- "rightsIdentifierScheme"=>"SPDX",
- "rightsUri"=>"https://creativecommons.org/licenses/by/4.0/legalcode",
- "schemeUri"=>"https://spdx.org/licenses/"}])
- expect(subject.dates).to eq([{"date"=>"2006-12-20", "dateType"=>"Issued"}, {"date"=>"2021-08-06T23:49:55Z", "dateType"=>"Updated"}])
- expect(subject.publication_year).to eq("2006")
- expect(subject.publisher).to eq("Public Library of Science (PLoS)")
+ expect(subject.creators.first).to eq('nameType' => 'Personal', 'name' => 'Ralser, Markus',
+ 'givenName' => 'Markus', 'familyName' => 'Ralser')
+ expect(subject.contributors).to eq([{ 'contributorType' => 'Editor', 'familyName' => 'Janbon',
+ 'givenName' => 'Guilhem', 'name' => 'Janbon, Guilhem', 'nameType' => 'Personal' }])
+ expect(subject.titles).to eq([{ 'title' => 'Triose Phosphate Isomerase Deficiency Is Caused by Altered Dimerization???Not Catalytic Inactivity???of the Mutant Enzymes' }])
+ expect(subject.rights_list).to eq([{ 'rights' => 'Creative Commons Attribution 4.0 International',
+ 'rightsIdentifier' => 'cc-by-4.0',
+ 'rightsIdentifierScheme' => 'SPDX',
+ 'rightsUri' => 'https://creativecommons.org/licenses/by/4.0/legalcode',
+ 'schemeUri' => 'https://spdx.org/licenses/' }])
+ expect(subject.dates).to eq([{ 'date' => '2006-12-20', 'dateType' => 'Issued' },
+ { 'date' => '2021-08-06T23:49:55Z', 'dateType' => 'Updated' }])
+ expect(subject.publication_year).to eq('2006')
+ expect(subject.publisher).to eq('Public Library of Science (PLoS)')
expect(subject.related_identifiers.length).to eq(68)
- expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"1932-6203", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
- expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.1056/nejm199109123251104", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
- expect(subject.container).to eq("firstPage"=>"e30", "identifier"=>"1932-6203", "identifierType"=>"ISSN", "issue"=>"1", "title"=>"PLoS ONE", "type"=>"Journal", "volume"=>"1")
- expect(subject.agency).to eq("crossref")
+ expect(subject.related_identifiers.first).to eq('relatedIdentifier' => '1932-6203',
+ 'relatedIdentifierType' => 'ISSN', 'relationType' => 'IsPartOf', 'resourceTypeGeneral' => 'Collection')
+ expect(subject.related_identifiers.last).to eq(
+ 'relatedIdentifier' => '10.1056/nejm199109123251104', 'relatedIdentifierType' => 'DOI', 'relationType' => 'References'
+ )
+ expect(subject.container).to eq('firstPage' => 'e30', 'identifier' => '1932-6203',
+ 'identifierType' => 'ISSN', 'issue' => '1', 'title' => 'PLoS ONE', 'type' => 'Journal', 'volume' => '1')
+ expect(subject.agency).to eq('crossref')
end
- it "journal article with funding" do
- input = "https://doi.org/10.3389/fpls.2019.00816"
- subject = Briard::Metadata.new(input: input)
+ it 'journal article with funding' do
+ input = 'https://doi.org/10.3389/fpls.2019.00816'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.3389/fpls.2019.00816")
- expect(subject.identifiers).to eq([{"identifier"=>"816", "identifierType"=>"article_number"}])
- expect(subject.url).to eq("https://www.frontiersin.org/article/10.3389/fpls.2019.00816/full")
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
+ expect(subject.id).to eq('https://doi.org/10.3389/fpls.2019.00816')
+ expect(subject.identifiers).to eq([{ 'identifier' => '816',
+ 'identifierType' => 'article_number' }])
+ expect(subject.url).to eq('https://www.frontiersin.org/article/10.3389/fpls.2019.00816/full')
+ expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
+ 'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
expect(subject.creators.length).to eq(4)
- expect(subject.creators.first).to eq("familyName"=>"Fortes", "givenName"=>"Ana Margarida", "name"=>"Fortes, Ana Margarida", "nameType"=>"Personal")
- expect(subject.titles).to eq([{"title"=>"Transcriptional Modulation of Polyamine Metabolism in Fruit Species Under Abiotic and Biotic Stress"}])
- expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution 4.0 International",
- "rightsIdentifier"=>"cc-by-4.0",
- "rightsIdentifierScheme"=>"SPDX",
- "rightsUri"=>"https://creativecommons.org/licenses/by/4.0/legalcode",
- "schemeUri"=>"https://spdx.org/licenses/"}])
- expect(subject.dates).to eq([{"date"=>"2019-07-02", "dateType"=>"Issued"}, {"date"=>"2019-09-22T02:40:23Z", "dateType"=>"Updated"}])
- expect(subject.publication_year).to eq("2019")
- expect(subject.publisher).to eq("Frontiers Media SA")
- expect(subject.funding_references).to eq([{"awardNumber"=>"CA17111", "funderIdentifier"=>"https://doi.org/10.13039/501100000921", "funderIdentifierType"=>"Crossref Funder ID", "funderName"=>"COST (European Cooperation in Science and Technology)"}])
+ expect(subject.creators.first).to eq('familyName' => 'Fortes', 'givenName' => 'Ana Margarida',
+ 'name' => 'Fortes, Ana Margarida', 'nameType' => 'Personal')
+ expect(subject.titles).to eq([{ 'title' => 'Transcriptional Modulation of Polyamine Metabolism in Fruit Species Under Abiotic and Biotic Stress' }])
+ expect(subject.rights_list).to eq([{ 'rights' => 'Creative Commons Attribution 4.0 International',
+ 'rightsIdentifier' => 'cc-by-4.0',
+ 'rightsIdentifierScheme' => 'SPDX',
+ 'rightsUri' => 'https://creativecommons.org/licenses/by/4.0/legalcode',
+ 'schemeUri' => 'https://spdx.org/licenses/' }])
+ expect(subject.dates).to eq([{ 'date' => '2019-07-02', 'dateType' => 'Issued' },
+ { 'date' => '2019-09-22T02:40:23Z', 'dateType' => 'Updated' }])
+ expect(subject.publication_year).to eq('2019')
+ expect(subject.publisher).to eq('Frontiers Media SA')
+ expect(subject.funding_references).to eq([{ 'awardNumber' => 'CA17111',
+ 'funderIdentifier' => 'https://doi.org/10.13039/501100000921', 'funderIdentifierType' => 'Crossref Funder ID', 'funderName' => 'COST (European Cooperation in Science and Technology)' }])
expect(subject.related_identifiers.length).to eq(70)
- expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"1664-462X", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
- expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.17660/actahortic.2004.632.41", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
- expect(subject.container).to eq("firstPage" => "816", "identifier"=>"1664-462X", "identifierType"=>"ISSN", "title"=>"Frontiers in Plant Science", "type"=>"Journal", "volume"=>"10")
- expect(subject.agency).to eq("crossref")
+ expect(subject.related_identifiers.first).to eq('relatedIdentifier' => '1664-462X',
+ 'relatedIdentifierType' => 'ISSN', 'relationType' => 'IsPartOf', 'resourceTypeGeneral' => 'Collection')
+ expect(subject.related_identifiers.last).to eq(
+ 'relatedIdentifier' => '10.17660/actahortic.2004.632.41', 'relatedIdentifierType' => 'DOI', 'relationType' => 'References'
+ )
+ expect(subject.container).to eq('firstPage' => '816', 'identifier' => '1664-462X',
+ 'identifierType' => 'ISSN', 'title' => 'Frontiers in Plant Science', 'type' => 'Journal', 'volume' => '10')
+ expect(subject.agency).to eq('crossref')
end
- it "journal article original language title" do
- input = "https://doi.org/10.7600/jspfsm.56.60"
- subject = Briard::Metadata.new(input: input)
+ it 'journal article original language title' do
+ input = 'https://doi.org/10.7600/jspfsm.56.60'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.7600/jspfsm.56.60")
- expect(subject.url).to eq("https://www.jstage.jst.go.jp/article/jspfsm/56/1/56_1_60/_article/-char/ja/")
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
- expect(subject.creators).to eq([{"name"=>":(unav)", "nameType"=>"Organizational"}])
- expect(subject.titles).to eq([{"lang"=>"ja", "title"=>"??????????????????????????????"}])
- expect(subject.dates).to include({"date"=>"2007", "dateType"=>"Issued"})
- expect(subject.publication_year).to eq("2007")
- expect(subject.publisher).to eq("The Japanese Society of Physical Fitness and Sports Medicine")
+ expect(subject.id).to eq('https://doi.org/10.7600/jspfsm.56.60')
+ expect(subject.url).to eq('https://www.jstage.jst.go.jp/article/jspfsm/56/1/56_1_60/_article/-char/ja/')
+ expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
+ 'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
+ expect(subject.creators).to eq([{ 'name' => ':(unav)', 'nameType' => 'Organizational' }])
+ expect(subject.titles).to eq([{ 'lang' => 'ja',
+ 'title' => '??????????????????????????????' }])
+ expect(subject.dates).to include({ 'date' => '2007', 'dateType' => 'Issued' })
+ expect(subject.publication_year).to eq('2007')
+ expect(subject.publisher).to eq('The Japanese Society of Physical Fitness and Sports Medicine')
expect(subject.related_identifiers.length).to eq(8)
- expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"1881-4751", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
- expect(subject.container).to eq("firstPage"=>"60", "identifier"=>"1881-4751", "identifierType"=>"ISSN", "issue"=>"1", "lastPage"=>"60", "title"=>"Japanese Journal of Physical Fitness and Sports Medicine", "type"=>"Journal", "volume"=>"56")
- expect(subject.agency).to eq("crossref")
+ expect(subject.related_identifiers.first).to eq('relatedIdentifier' => '1881-4751',
+ 'relatedIdentifierType' => 'ISSN', 'relationType' => 'IsPartOf', 'resourceTypeGeneral' => 'Collection')
+ expect(subject.container).to eq('firstPage' => '60', 'identifier' => '1881-4751',
+ 'identifierType' => 'ISSN', 'issue' => '1', 'lastPage' => '60', 'title' => 'Japanese Journal of Physical Fitness and Sports Medicine', 'type' => 'Journal', 'volume' => '56')
+ expect(subject.agency).to eq('crossref')
end
- it "journal article with RDF for container" do
- input = "https://doi.org/10.1163/1937240X-00002096"
- subject = Briard::Metadata.new(input: input)
+ it 'journal article with RDF for container' do
+ input = 'https://doi.org/10.1163/1937240X-00002096'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.1163/1937240x-00002096")
- expect(subject.url).to eq("https://academic.oup.com/jcb/article-lookup/doi/10.1163/1937240X-00002096")
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
+ expect(subject.id).to eq('https://doi.org/10.1163/1937240x-00002096')
+ expect(subject.url).to eq('https://academic.oup.com/jcb/article-lookup/doi/10.1163/1937240X-00002096')
+ expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
+ 'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
expect(subject.creators.length).to eq(8)
- expect(subject.creators.first).to eq("familyName"=>"Mesquita-Joanes", "givenName"=>"Francesc", "name"=>"Mesquita-Joanes, Francesc", "nameType"=>"Personal")
- expect(subject.titles).to eq([{"title"=>"Global distribution of Fabaeformiscandona subacuta: an??exotic??invasive Ostracoda on the Iberian Peninsula?"}])
- expect(subject.dates).to include({"date"=>"2012-01-01", "dateType"=>"Issued"})
- expect(subject.publication_year).to eq("2012")
- expect(subject.publisher).to eq("Oxford University Press (OUP)")
+ expect(subject.creators.first).to eq('familyName' => 'Mesquita-Joanes',
+ 'givenName' => 'Francesc', 'name' => 'Mesquita-Joanes, Francesc', 'nameType' => 'Personal')
+ expect(subject.titles).to eq([{ 'title' => 'Global distribution of Fabaeformiscandona subacuta: an??exotic??invasive Ostracoda on the Iberian Peninsula?' }])
+ expect(subject.dates).to include({ 'date' => '2012-01-01', 'dateType' => 'Issued' })
+ expect(subject.publication_year).to eq('2012')
+ expect(subject.publisher).to eq('Oxford University Press (OUP)')
expect(subject.related_identifiers.length).to eq(44)
- expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"1937-240X", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
- expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.1002/aqc.1122", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
- expect(subject.container).to eq("firstPage"=>"949", "identifier"=>"1937-240X", "identifierType"=>"ISSN", "issue"=>"6", "lastPage"=>"961", "title"=>"Journal of Crustacean Biology", "type"=>"Journal", "volume"=>"32")
- expect(subject.agency).to eq("crossref")
+ expect(subject.related_identifiers.first).to eq('relatedIdentifier' => '1937-240X',
+ 'relatedIdentifierType' => 'ISSN', 'relationType' => 'IsPartOf', 'resourceTypeGeneral' => 'Collection')
+ expect(subject.related_identifiers.last).to eq('relatedIdentifier' => '10.1002/aqc.1122',
+ 'relatedIdentifierType' => 'DOI', 'relationType' => 'References')
+ expect(subject.container).to eq('firstPage' => '949', 'identifier' => '1937-240X',
+ 'identifierType' => 'ISSN', 'issue' => '6', 'lastPage' => '961', 'title' => 'Journal of Crustacean Biology', 'type' => 'Journal', 'volume' => '32')
+ expect(subject.agency).to eq('crossref')
end
- it "book chapter with RDF for container" do
- input = "10.1007/978-3-642-33191-6_49"
- subject = Briard::Metadata.new(input: input)
+ it 'book chapter with RDF for container' do
+ input = '10.1007/978-3-642-33191-6_49'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.1007/978-3-642-33191-6_49")
- expect(subject.url).to eq("http://link.springer.com/10.1007/978-3-642-33191-6_49")
- expect(subject.types).to eq("bibtex"=>"inbook", "citeproc"=>"chapter", "resourceType"=>"BookChapter", "resourceTypeGeneral"=>"BookChapter", "ris"=>"CHAP", "schemaOrg"=>"Chapter")
+ expect(subject.id).to eq('https://doi.org/10.1007/978-3-642-33191-6_49')
+ expect(subject.url).to eq('http://link.springer.com/10.1007/978-3-642-33191-6_49')
+ expect(subject.types).to eq('bibtex' => 'inbook', 'citeproc' => 'chapter',
+ 'resourceType' => 'BookChapter', 'resourceTypeGeneral' => 'BookChapter', 'ris' => 'CHAP', 'schemaOrg' => 'Chapter')
expect(subject.creators.length).to eq(3)
- expect(subject.creators.first).to eq("familyName"=>"Chen", "givenName"=>"Lili", "name"=>"Chen, Lili", "nameType"=>"Personal")
- expect(subject.titles).to eq([{"title"=>"Human Body Orientation Estimation in Multiview Scenarios"}])
- expect(subject.dates).to eq([{"date"=>"2012", "dateType"=>"Issued"}, {"date"=>"2020-11-24T03:11:32Z", "dateType"=>"Updated"}])
- expect(subject.publication_year).to eq("2012")
- expect(subject.publisher).to eq("Springer Science and Business Media LLC")
+ expect(subject.creators.first).to eq('familyName' => 'Chen', 'givenName' => 'Lili',
+ 'name' => 'Chen, Lili', 'nameType' => 'Personal')
+ expect(subject.titles).to eq([{ 'title' => 'Human Body Orientation Estimation in Multiview Scenarios' }])
+ expect(subject.dates).to eq([{ 'date' => '2012', 'dateType' => 'Issued' },
+ { 'date' => '2020-11-24T03:11:32Z', 'dateType' => 'Updated' }])
+ expect(subject.publication_year).to eq('2012')
+ expect(subject.publisher).to eq('Springer Science and Business Media LLC')
expect(subject.related_identifiers.length).to eq(7)
- expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"10.1007/978-3-540-24670-1_3", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
- expect(subject.container).to eq("identifier"=>"1611-3349", "identifierType"=>"ISSN", "title"=>"Lecture Notes in Computer Science", "type"=>"Book Series")
- expect(subject.agency).to eq("crossref")
+ expect(subject.related_identifiers.first).to eq(
+ 'relatedIdentifier' => '10.1007/978-3-540-24670-1_3', 'relatedIdentifierType' => 'DOI', 'relationType' => 'References'
+ )
+ expect(subject.container).to eq('identifier' => '1611-3349', 'identifierType' => 'ISSN',
+ 'title' => 'Lecture Notes in Computer Science', 'type' => 'Book Series')
+ expect(subject.agency).to eq('crossref')
end
- it "posted_content" do
- input = "https://doi.org/10.1101/097196"
- subject = Briard::Metadata.new(input: input)
+ it 'posted_content' do
+ input = 'https://doi.org/10.1101/097196'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.url).to eq("http://biorxiv.org/lookup/doi/10.1101/097196")
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"PostedContent", "resourceTypeGeneral"=>"Preprint", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
+ expect(subject.url).to eq('http://biorxiv.org/lookup/doi/10.1101/097196')
+ expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
+ 'resourceType' => 'PostedContent', 'resourceTypeGeneral' => 'Preprint', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
expect(subject.creators.count).to eq(11)
- expect(subject.creators.last).to eq("nameType"=>"Personal", "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0003-4060-7360", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}], "name"=>"Clark, Timothy", "givenName"=>"Timothy", "familyName"=>"Clark")
- expect(subject.titles).to eq([{"title"=>"A Data Citation Roadmap for Scholarly Data Repositories"}])
- expect(subject.id).to eq("https://doi.org/10.1101/097196")
- expect(subject.identifiers).to eq([{"identifier"=>"biorxiv;097196v2", "identifierType"=>"pisa"}])
- expect(subject.descriptions.first["description"]).to start_with("This article presents a practical roadmap")
- expect(subject.dates).to include({"date"=>"2017-10-09", "dateType"=>"Issued"})
- expect(subject.publication_year).to eq("2017")
- expect(subject.publisher).to eq("Cold Spring Harbor Laboratory")
- expect(subject.agency).to eq("crossref")
+ expect(subject.creators.last).to eq('nameType' => 'Personal',
+ 'nameIdentifiers' => [{ 'nameIdentifier' => 'https://orcid.org/0000-0003-4060-7360', 'nameIdentifierScheme' => 'ORCID', 'schemeUri' => 'https://orcid.org' }], 'name' => 'Clark, Timothy', 'givenName' => 'Timothy', 'familyName' => 'Clark')
+ expect(subject.titles).to eq([{ 'title' => 'A Data Citation Roadmap for Scholarly Data Repositories' }])
+ expect(subject.id).to eq('https://doi.org/10.1101/097196')
+ expect(subject.identifiers).to eq([{ 'identifier' => 'biorxiv;097196v2',
+ 'identifierType' => 'pisa' }])
+ expect(subject.descriptions.first['description']).to start_with('This article presents a practical roadmap')
+ expect(subject.dates).to include({ 'date' => '2017-10-09', 'dateType' => 'Issued' })
+ expect(subject.publication_year).to eq('2017')
+ expect(subject.publisher).to eq('Cold Spring Harbor Laboratory')
+ expect(subject.agency).to eq('crossref')
end
- it "peer review" do
- input = "https://doi.org/10.7554/elife.55167.sa2"
- subject = Briard::Metadata.new(input: input)
+ it 'peer review' do
+ input = 'https://doi.org/10.7554/elife.55167.sa2'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.url).to eq("https://elifesciences.org/articles/55167#sa2")
- expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"article-journal", "resourceType"=>"PeerReview", "resourceTypeGeneral"=>"PeerReview", "ris"=>"JOUR", "schemaOrg"=>"Review")
+ expect(subject.url).to eq('https://elifesciences.org/articles/55167#sa2')
+ expect(subject.types).to eq('bibtex' => 'misc', 'citeproc' => 'article-journal',
+ 'resourceType' => 'PeerReview', 'resourceTypeGeneral' => 'PeerReview', 'ris' => 'JOUR', 'schemaOrg' => 'Review')
expect(subject.creators.count).to eq(8)
- expect(subject.creators.last).to eq("affiliation" => [{"name"=>"Center for Computational Mathematics, Flatiron Institute, New York, United States"}],
- "familyName" => "Barnett",
- "givenName" => "Alex H",
- "name" => "Barnett, Alex H",
- "nameType" => "Personal")
- expect(subject.titles).to eq([{"title"=>"Author response: SpikeForest, reproducible web-facing ground-truth validation of automated neural spike sorters"}])
- expect(subject.id).to eq("https://doi.org/10.7554/elife.55167.sa2")
- expect(subject.identifiers).to be_empty
- expect(subject.descriptions).to be_empty
- expect(subject.dates).to include({"date"=>"2020-05-19", "dateType"=>"Issued"})
- expect(subject.publication_year).to eq("2020")
- expect(subject.publisher).to eq("eLife Sciences Publications, Ltd")
- expect(subject.agency).to eq("crossref")
+ expect(subject.creators.last).to eq('affiliation' => [{ 'name' => 'Center for Computational Mathematics, Flatiron Institute, New York, United States' }],
+ 'familyName' => 'Barnett',
+ 'givenName' => 'Alex H',
+ 'name' => 'Barnett, Alex H',
+ 'nameType' => 'Personal')
+ expect(subject.titles).to eq([{ 'title' => 'Author response: SpikeForest, reproducible web-facing ground-truth validation of automated neural spike sorters' }])
+ expect(subject.id).to eq('https://doi.org/10.7554/elife.55167.sa2')
+ expect(subject.identifiers.empty?).to be(true)
+ expect(subject.descriptions.empty?).to be(true)
+ expect(subject.dates).to include({ 'date' => '2020-05-19', 'dateType' => 'Issued' })
+ expect(subject.publication_year).to eq('2020')
+ expect(subject.publisher).to eq('eLife Sciences Publications, Ltd')
+ expect(subject.agency).to eq('crossref')
end
- it "dissertation" do
- input = "https://doi.org/10.14264/uql.2020.791"
- subject = Briard::Metadata.new(input: input)
+ it 'dissertation' do
+ input = 'https://doi.org/10.14264/uql.2020.791'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.url).to eq("http://espace.library.uq.edu.au/view/UQ:23a1e74")
- expect(subject.types).to eq("bibtex"=>"phdthesis", "citeproc"=>"thesis", "resourceType"=>"Dissertation", "resourceTypeGeneral"=>"Dissertation", "ris"=>"THES", "schemaOrg"=>"Thesis")
- expect(subject.creators).to eq([{"familyName"=>"Collingwood",
- "givenName"=>"Patricia Maree",
- "name"=>"Collingwood, Patricia Maree",
- "nameIdentifiers"=>
- [{"nameIdentifier"=>"https://orcid.org/0000-0003-3086-4443",
- "nameIdentifierScheme"=>"ORCID",
- "schemeUri"=>"https://orcid.org"}],
- "nameType"=>"Personal"}])
- expect(subject.titles).to eq([{"title"=>"School truancy and financial independence during emerging adulthood: a longitudinal analysis of receipt of and reliance on cash transfers"}])
- expect(subject.id).to eq("https://doi.org/10.14264/uql.2020.791")
- expect(subject.identifiers).to be_empty
- expect(subject.descriptions).to be_empty
- expect(subject.dates).to include({"date"=>"2020-06-08", "dateType"=>"Issued"})
- expect(subject.publication_year).to eq("2020")
- expect(subject.publisher).to eq("University of Queensland Library")
- expect(subject.agency).to eq("crossref")
+ expect(subject.url).to eq('http://espace.library.uq.edu.au/view/UQ:23a1e74')
+ expect(subject.types).to eq('bibtex' => 'phdthesis', 'citeproc' => 'thesis',
+ 'resourceType' => 'Dissertation', 'resourceTypeGeneral' => 'Dissertation', 'ris' => 'THES', 'schemaOrg' => 'Thesis')
+ expect(subject.creators).to eq([{ 'familyName' => 'Collingwood',
+ 'givenName' => 'Patricia Maree',
+ 'name' => 'Collingwood, Patricia Maree',
+ 'nameIdentifiers' =>
+ [{ 'nameIdentifier' => 'https://orcid.org/0000-0003-3086-4443',
+ 'nameIdentifierScheme' => 'ORCID',
+ 'schemeUri' => 'https://orcid.org' }],
+ 'nameType' => 'Personal' }])
+ expect(subject.titles).to eq([{ 'title' => 'School truancy and financial independence during emerging adulthood: a longitudinal analysis of receipt of and reliance on cash transfers' }])
+ expect(subject.id).to eq('https://doi.org/10.14264/uql.2020.791')
+ expect(subject.identifiers.empty?).to be(true)
+ expect(subject.descriptions.empty?).to be(true)
+ expect(subject.dates).to include({ 'date' => '2020-06-08', 'dateType' => 'Issued' })
+ expect(subject.publication_year).to eq('2020')
+ expect(subject.publisher).to eq('University of Queensland Library')
+ expect(subject.agency).to eq('crossref')
end
- it "DOI with SICI DOI" do
- input = "https://doi.org/10.1890/0012-9658(2006)87[2832:tiopma]2.0.co;2"
- subject = Briard::Metadata.new(input: input)
+ it 'DOI with SICI DOI' do
+ input = 'https://doi.org/10.1890/0012-9658(2006)87[2832:tiopma]2.0.co;2'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.1890/0012-9658(2006)87%255b2832:tiopma%255d2.0.co;2")
- expect(subject.url).to eq("http://doi.wiley.com/10.1890/0012-9658(2006)87[2832:TIOPMA]2.0.CO;2")
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
- expect(subject.creators).to eq([{"nameType"=>"Personal", "name"=>"Fenton, A.", "givenName"=>"A.", "familyName"=>"Fenton"}, {"nameType"=>"Personal", "name"=>"Rands, S. A.", "givenName"=>"S. A.", "familyName"=>"Rands"}])
- expect(subject.rights_list).to eq([{"rightsUri"=>"http://doi.wiley.com/10.1002/tdm_license_1.1"}])
- expect(subject.titles).to eq([{"title"=>"THE IMPACT OF PARASITE MANIPULATION AND PREDATOR FORAGING BEHAVIOR ON PREDATOR???PREY COMMUNITIES"}])
- expect(subject.dates).to eq([{"date"=>"2006-11", "dateType"=>"Issued"}, {"date"=>"2019-04-28T13:51:50Z", "dateType"=>"Updated"}])
- expect(subject.publication_year).to eq("2006")
- expect(subject.publisher).to eq("Wiley")
+ expect(subject.id).to eq('https://doi.org/10.1890/0012-9658(2006)87%255b2832:tiopma%255d2.0.co;2')
+ expect(subject.url).to eq('http://doi.wiley.com/10.1890/0012-9658(2006)87[2832:TIOPMA]2.0.CO;2')
+ expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
+ 'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
+ expect(subject.creators).to eq([
+ { 'nameType' => 'Personal', 'name' => 'Fenton, A.', 'givenName' => 'A.',
+ 'familyName' => 'Fenton' }, { 'nameType' => 'Personal', 'name' => 'Rands, S. A.', 'givenName' => 'S. A.', 'familyName' => 'Rands' }
+ ])
+ expect(subject.rights_list).to eq([{ 'rightsUri' => 'http://doi.wiley.com/10.1002/tdm_license_1.1' }])
+ expect(subject.titles).to eq([{ 'title' => 'THE IMPACT OF PARASITE MANIPULATION AND PREDATOR FORAGING BEHAVIOR ON PREDATOR???PREY COMMUNITIES' }])
+ expect(subject.dates).to eq([{ 'date' => '2006-11', 'dateType' => 'Issued' },
+ { 'date' => '2019-04-28T13:51:50Z', 'dateType' => 'Updated' }])
+ expect(subject.publication_year).to eq('2006')
+ expect(subject.publisher).to eq('Wiley')
expect(subject.related_identifiers.length).to eq(35)
- expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"0012-9658", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
- expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.1098/rspb.2002.2213", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
- expect(subject.container).to eq("firstPage"=>"2832", "identifier"=>"0012-9658", "identifierType"=>"ISSN", "issue"=>"11", "lastPage"=>"2841", "title"=>"Ecology", "type"=>"Journal", "volume"=>"87")
- expect(subject.agency).to eq("crossref")
+ expect(subject.related_identifiers.first).to eq('relatedIdentifier' => '0012-9658',
+ 'relatedIdentifierType' => 'ISSN', 'relationType' => 'IsPartOf', 'resourceTypeGeneral' => 'Collection')
+ expect(subject.related_identifiers.last).to eq('relatedIdentifier' => '10.1098/rspb.2002.2213',
+ 'relatedIdentifierType' => 'DOI', 'relationType' => 'References')
+ expect(subject.container).to eq('firstPage' => '2832', 'identifier' => '0012-9658',
+ 'identifierType' => 'ISSN', 'issue' => '11', 'lastPage' => '2841', 'title' => 'Ecology', 'type' => 'Journal', 'volume' => '87')
+ expect(subject.agency).to eq('crossref')
end
- it "DOI with ORCID ID" do
- input = "https://doi.org/10.1155/2012/291294"
- subject = Briard::Metadata.new(input: input)
+ it 'DOI with ORCID ID' do
+ input = 'https://doi.org/10.1155/2012/291294'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.1155/2012/291294")
- expect(subject.url).to eq("http://www.hindawi.com/journals/pm/2012/291294/")
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
+ expect(subject.id).to eq('https://doi.org/10.1155/2012/291294')
+ expect(subject.url).to eq('http://www.hindawi.com/journals/pm/2012/291294/')
+ expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
+ 'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
expect(subject.creators.length).to eq(7)
- expect(subject.creators[2]).to eq("nameType"=>"Personal", "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0003-2043-4925", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}], "name"=>"Hernandez, Beatriz", "givenName"=>"Beatriz", "familyName"=>"Hernandez", "affiliation" => [{"name"=>"War Related Illness and Injury Study Center (WRIISC) and Mental Illness Research Education and Clinical Center (MIRECC), Department of Veterans Affairs, Palo Alto, CA 94304, USA"}, {"name"=>"Department of Psychiatry and Behavioral Sciences, Stanford University School of Medicine, Stanford, CA 94304, USA"}])
- expect(subject.rights_list).to eq([{"rights"=>"Creative Commons Attribution 3.0 Unported",
- "rightsIdentifier"=>"cc-by-3.0",
- "rightsIdentifierScheme"=>"SPDX",
- "rightsUri"=>"https://creativecommons.org/licenses/by/3.0/legalcode",
- "schemeUri"=>"https://spdx.org/licenses/"}])
- expect(subject.titles).to eq([{"title"=>"Delineating a Retesting Zone Using Receiver Operating Characteristic Analysis on Serial QuantiFERON Tuberculosis Test Results in US Healthcare Workers"}])
- expect(subject.dates).to include({"date"=>"2012", "dateType"=>"Issued"})
- expect(subject.publication_year).to eq("2012")
- expect(subject.publisher).to eq("Hindawi Limited")
+ expect(subject.creators[2]).to eq('nameType' => 'Personal',
+ 'nameIdentifiers' => [{ 'nameIdentifier' => 'https://orcid.org/0000-0003-2043-4925', 'nameIdentifierScheme' => 'ORCID', 'schemeUri' => 'https://orcid.org' }], 'name' => 'Hernandez, Beatriz', 'givenName' => 'Beatriz', 'familyName' => 'Hernandez', 'affiliation' => [{ 'name' => 'War Related Illness and Injury Study Center (WRIISC) and Mental Illness Research Education and Clinical Center (MIRECC), Department of Veterans Affairs, Palo Alto, CA 94304, USA' }, { 'name' => 'Department of Psychiatry and Behavioral Sciences, Stanford University School of Medicine, Stanford, CA 94304, USA' }])
+ expect(subject.rights_list).to eq([{ 'rights' => 'Creative Commons Attribution 3.0 Unported',
+ 'rightsIdentifier' => 'cc-by-3.0',
+ 'rightsIdentifierScheme' => 'SPDX',
+ 'rightsUri' => 'https://creativecommons.org/licenses/by/3.0/legalcode',
+ 'schemeUri' => 'https://spdx.org/licenses/' }])
+ expect(subject.titles).to eq([{ 'title' => 'Delineating a Retesting Zone Using Receiver Operating Characteristic Analysis on Serial QuantiFERON Tuberculosis Test Results in US Healthcare Workers' }])
+ expect(subject.dates).to include({ 'date' => '2012', 'dateType' => 'Issued' })
+ expect(subject.publication_year).to eq('2012')
+ expect(subject.publisher).to eq('Hindawi Limited')
expect(subject.related_identifiers.length).to eq(18)
- expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"2090-1844", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
- expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.1378/chest.12-0045", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
- expect(subject.container).to eq("firstPage"=>"1", "identifier"=>"2090-1844", "identifierType"=>"ISSN", "lastPage"=>"7", "title"=>"Pulmonary Medicine", "type"=>"Journal", "volume"=>"2012")
- expect(subject.agency).to eq("crossref")
+ expect(subject.related_identifiers.first).to eq('relatedIdentifier' => '2090-1844',
+ 'relatedIdentifierType' => 'ISSN', 'relationType' => 'IsPartOf', 'resourceTypeGeneral' => 'Collection')
+ expect(subject.related_identifiers.last).to eq('relatedIdentifier' => '10.1378/chest.12-0045',
+ 'relatedIdentifierType' => 'DOI', 'relationType' => 'References')
+ expect(subject.container).to eq('firstPage' => '1', 'identifier' => '2090-1844',
+ 'identifierType' => 'ISSN', 'lastPage' => '7', 'title' => 'Pulmonary Medicine', 'type' => 'Journal', 'volume' => '2012')
+ expect(subject.agency).to eq('crossref')
end
- it "date in future" do
- input = "https://doi.org/10.1016/j.ejphar.2015.03.018"
- subject = Briard::Metadata.new(input: input)
+ it 'date in future' do
+ input = 'https://doi.org/10.1016/j.ejphar.2015.03.018'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.1016/j.ejphar.2015.03.018")
- expect(subject.identifiers).to eq([{"identifier"=>"S0014299915002332", "identifierType"=>"sequence-number"}])
- expect(subject.url).to eq("https://linkinghub.elsevier.com/retrieve/pii/S0014299915002332")
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
+ expect(subject.id).to eq('https://doi.org/10.1016/j.ejphar.2015.03.018')
+ expect(subject.identifiers).to eq([{ 'identifier' => 'S0014299915002332',
+ 'identifierType' => 'sequence-number' }])
+ expect(subject.url).to eq('https://linkinghub.elsevier.com/retrieve/pii/S0014299915002332')
+ expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
+ 'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
expect(subject.creators.length).to eq(10)
- expect(subject.creators.first).to eq("nameType"=>"Personal", "name"=>"Beck, Sarah E.", "givenName"=>"Sarah E.", "familyName"=>"Beck")
- expect(subject.titles).to eq([{"title"=>"Paving the path to HIV neurotherapy: Predicting SIV CNS disease"}])
- expect(subject.dates).to include({"date"=>"2015-07", "dateType"=>"Issued"})
- expect(subject.publication_year).to eq("2015")
- expect(subject.publisher).to eq("Elsevier BV")
- expect(subject.related_identifiers).to eq([{"relatedIdentifier"=>"0014-2999", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection"},
- {"relatedIdentifier"=>"10.1212/01.wnl.0000287431.88658.8b",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1182/blood-2010-09-308684",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1007/s13365-015-0313-7",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1016/j.jneuroim.2006.04.017",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1086/514001",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1002/ana.410310403",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1093/infdis/jir214",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1097/qad.0b013e32836010bd",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1261/rna.036863.112",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.4103/0019-5359.107389",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.3233/jad-2008-14103",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1126/science.287.5455.959",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1097/01.qai.0000165799.59322.f5",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1002/ana.410420503",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1089/ars.2012.4834",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1111/j.1600-0404.1987.tb05458.x",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1097/00002030-198905000-00006",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1002/ana.410200304",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1186/1742-6405-2-6",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1111/j.1600-0684.1993.tb00649.x",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1186/1742-6405-7-15",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1212/wnl.0b013e318200d727",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1089/aid.2006.0292",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1126/science.3646751",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1002/ajmg.b.32071",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1186/1756-6606-6-40",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1086/344938",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1128/jvi.71.8.6055-6060.1997",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1016/j.jneuroim.2004.08.031",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1371/journal.pone.0003603",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1093/jnen/61.1.85",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1097/qad.0b013e32832c4af0",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.3389/fgene.2013.00083",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1080/13550280390194109",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1002/ana.410420504",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1001/archneur.61.11.1687",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1212/01.wnl.0000277635.05973.55",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1038/nmeth.3014",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1097/qai.0000000000000048",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1093/infdis/jit278",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1007/s13365-014-0283-1",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1097/00002030-199905280-00010",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1097/qco.0b013e32834ef586",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.4049/jimmunol.169.6.3438",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.2174/1389200024605082",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1126/science.1546323",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1016/s1474-4422(14)70137-1",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1016/j.jns.2009.06.043",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1128/jvi.77.16.9029-9040.2003",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1002/jcp.24254",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1128/jvi.76.1.292-302.2002",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1182/blood-2012-03-414706",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1016/j.jneuroim.2013.11.004",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1038/nrg3198",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1016/s0140-6736(96)10178-1",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1128/jvi.00366-11",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1007/s13365-011-0053-2",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1083/jcb.201211138",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1111/j.1600-0684.2011.00475.x",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1038/srep05915",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1096/fj.09-143503",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1542/peds.111.2.e168",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.2174/1566524013363555",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1126/science.283.5403.857",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1212/01.wnl.0000145763.68284.15",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1002/ana.410230727",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1186/1742-4690-10-95",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1128/jvi.79.2.684-695.2005",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1111/j.1600-0684.2005.00126.x",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1186/1756-8722-6-6",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1016/j.jmb.2013.12.017",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1590/s0037-86822012000600002",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1080/13550280390218715",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1111/j.1468-1331.2012.03777.x",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.3233/jad-2010-090649",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1080/13550280500516484",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1080/13550280390218751",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1189/jlb.0811394",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1007/s11481-011-9330-3",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1080/13550280802074539",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1086/650743",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1371/journal.pone.0008129",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1128/jvi.80.10.5074-5077.2006",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1186/1742-2094-10-62",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1086/323478",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1128/jvi.73.12.10480-10488.1999",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"},
- {"relatedIdentifier"=>"10.1111/hiv.12134",
- "relatedIdentifierType"=>"DOI",
- "relationType"=>"References"}])
- expect(subject.container).to eq("firstPage"=>"303", "identifier"=>"0014-2999", "identifierType"=>"ISSN", "lastPage"=>"312", "title"=>"European Journal of Pharmacology", "type"=>"Journal", "volume"=>"759")
- expect(subject.agency).to eq("crossref")
+ expect(subject.creators.first).to eq('nameType' => 'Personal', 'name' => 'Beck, Sarah E.',
+ 'givenName' => 'Sarah E.', 'familyName' => 'Beck')
+ expect(subject.titles).to eq([{ 'title' => 'Paving the path to HIV neurotherapy: Predicting SIV CNS disease' }])
+ expect(subject.dates).to include({ 'date' => '2015-07', 'dateType' => 'Issued' })
+ expect(subject.publication_year).to eq('2015')
+ expect(subject.publisher).to eq('Elsevier BV')
+ expect(subject.related_identifiers).to eq([{ 'relatedIdentifier' => '0014-2999', 'relatedIdentifierType' => 'ISSN', 'relationType' => 'IsPartOf', 'resourceTypeGeneral' => 'Collection' },
+ { 'relatedIdentifier' => '10.1212/01.wnl.0000287431.88658.8b',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1182/blood-2010-09-308684',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1007/s13365-015-0313-7',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1016/j.jneuroim.2006.04.017',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1086/514001',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1002/ana.410310403',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1093/infdis/jir214',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1097/qad.0b013e32836010bd',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1261/rna.036863.112',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.4103/0019-5359.107389',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.3233/jad-2008-14103',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1126/science.287.5455.959',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1097/01.qai.0000165799.59322.f5',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1002/ana.410420503',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1089/ars.2012.4834',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1111/j.1600-0404.1987.tb05458.x',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1097/00002030-198905000-00006',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1002/ana.410200304',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1186/1742-6405-2-6',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1111/j.1600-0684.1993.tb00649.x',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1186/1742-6405-7-15',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1212/wnl.0b013e318200d727',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1089/aid.2006.0292',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1126/science.3646751',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1002/ajmg.b.32071',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1186/1756-6606-6-40',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1086/344938',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1128/jvi.71.8.6055-6060.1997',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1016/j.jneuroim.2004.08.031',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1371/journal.pone.0003603',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1093/jnen/61.1.85',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1097/qad.0b013e32832c4af0',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.3389/fgene.2013.00083',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1080/13550280390194109',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1002/ana.410420504',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1001/archneur.61.11.1687',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1212/01.wnl.0000277635.05973.55',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1038/nmeth.3014',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1097/qai.0000000000000048',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1093/infdis/jit278',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1007/s13365-014-0283-1',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1097/00002030-199905280-00010',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1097/qco.0b013e32834ef586',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.4049/jimmunol.169.6.3438',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.2174/1389200024605082',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1126/science.1546323',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1016/s1474-4422(14)70137-1',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1016/j.jns.2009.06.043',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1128/jvi.77.16.9029-9040.2003',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1002/jcp.24254',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1128/jvi.76.1.292-302.2002',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1182/blood-2012-03-414706',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1016/j.jneuroim.2013.11.004',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1038/nrg3198',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1016/s0140-6736(96)10178-1',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1128/jvi.00366-11',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1007/s13365-011-0053-2',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1083/jcb.201211138',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1111/j.1600-0684.2011.00475.x',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1038/srep05915',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1096/fj.09-143503',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1542/peds.111.2.e168',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.2174/1566524013363555',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1126/science.283.5403.857',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1212/01.wnl.0000145763.68284.15',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1002/ana.410230727',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1186/1742-4690-10-95',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1128/jvi.79.2.684-695.2005',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1111/j.1600-0684.2005.00126.x',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1186/1756-8722-6-6',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1016/j.jmb.2013.12.017',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1590/s0037-86822012000600002',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1080/13550280390218715',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1111/j.1468-1331.2012.03777.x',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.3233/jad-2010-090649',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1080/13550280500516484',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1080/13550280390218751',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1189/jlb.0811394',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1007/s11481-011-9330-3',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1080/13550280802074539',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1086/650743',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1371/journal.pone.0008129',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1128/jvi.80.10.5074-5077.2006',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1186/1742-2094-10-62',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1086/323478',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1128/jvi.73.12.10480-10488.1999',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' },
+ { 'relatedIdentifier' => '10.1111/hiv.12134',
+ 'relatedIdentifierType' => 'DOI',
+ 'relationType' => 'References' }])
+ expect(subject.container).to eq('firstPage' => '303', 'identifier' => '0014-2999',
+ 'identifierType' => 'ISSN', 'lastPage' => '312', 'title' => 'European Journal of Pharmacology', 'type' => 'Journal', 'volume' => '759')
+ expect(subject.agency).to eq('crossref')
end
- it "vor with url" do
- input = "https://doi.org/10.1038/hdy.2013.26"
- subject = Briard::Metadata.new(input: input)
+ it 'vor with url' do
+ input = 'https://doi.org/10.1038/hdy.2013.26'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.1038/hdy.2013.26")
- expect(subject.url).to eq("http://www.nature.com/articles/hdy201326")
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
+ expect(subject.id).to eq('https://doi.org/10.1038/hdy.2013.26')
+ expect(subject.url).to eq('http://www.nature.com/articles/hdy201326')
+ expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
+ 'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
expect(subject.creators.length).to eq(2)
- expect(subject.creators.first).to eq("familyName"=>"Gross", "givenName"=>"J B", "name"=>"Gross, J B", "nameType"=>"Personal")
- expect(subject.titles).to eq([{"title"=>"Albinism in phylogenetically and geographically distinct populations of Astyanax cavefish arises through the same loss-of-function Oca2 allele"}])
- expect(subject.dates).to include({"date"=>"2013-04-10", "dateType"=>"Issued"})
- expect(subject.publication_year).to eq("2013")
- expect(subject.publisher).to eq("Springer Science and Business Media LLC")
+ expect(subject.creators.first).to eq('familyName' => 'Gross', 'givenName' => 'J B',
+ 'name' => 'Gross, J B', 'nameType' => 'Personal')
+ expect(subject.titles).to eq([{ 'title' => 'Albinism in phylogenetically and geographically distinct populations of Astyanax cavefish arises through the same loss-of-function Oca2 allele' }])
+ expect(subject.dates).to include({ 'date' => '2013-04-10', 'dateType' => 'Issued' })
+ expect(subject.publication_year).to eq('2013')
+ expect(subject.publisher).to eq('Springer Science and Business Media LLC')
expect(subject.related_identifiers.size).to eq(35)
- expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"1365-2540", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
- expect(subject.container).to eq("firstPage"=>"122", "identifier"=>"1365-2540", "identifierType"=>"ISSN", "issue"=>"2", "lastPage"=>"130", "title"=>"Heredity", "type"=>"Journal", "volume"=>"111")
- expect(subject.agency).to eq("crossref")
+ expect(subject.related_identifiers.first).to eq('relatedIdentifier' => '1365-2540',
+ 'relatedIdentifierType' => 'ISSN', 'relationType' => 'IsPartOf', 'resourceTypeGeneral' => 'Collection')
+ expect(subject.container).to eq('firstPage' => '122', 'identifier' => '1365-2540',
+ 'identifierType' => 'ISSN', 'issue' => '2', 'lastPage' => '130', 'title' => 'Heredity', 'type' => 'Journal', 'volume' => '111')
+ expect(subject.agency).to eq('crossref')
end
- it "dataset" do
- input = "10.2210/pdb4hhb/pdb"
- subject = Briard::Metadata.new(input: input)
+ it 'dataset' do
+ input = '10.2210/pdb4hhb/pdb'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.2210/pdb4hhb/pdb")
- expect(subject.url).to eq("https://www.wwpdb.org/pdb?id=pdb_00004hhb")
- expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"article-journal", "resourceType"=>"SaComponent", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
+ expect(subject.id).to eq('https://doi.org/10.2210/pdb4hhb/pdb')
+ expect(subject.url).to eq('https://www.wwpdb.org/pdb?id=pdb_00004hhb')
+ expect(subject.types).to eq('bibtex' => 'misc', 'citeproc' => 'article-journal',
+ 'resourceType' => 'SaComponent', 'resourceTypeGeneral' => 'Text', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
expect(subject.creators.length).to eq(2)
- expect(subject.creators.first).to eq("nameType"=>"Personal", "name"=>"Fermi, G.", "givenName"=>"G.", "familyName"=>"Fermi")
- expect(subject.titles).to eq([{"title"=>"THE CRYSTAL STRUCTURE OF HUMAN DEOXYHAEMOGLOBIN AT 1.74 ANGSTROMS RESOLUTION"}])
- expect(subject.descriptions).to eq([{"description"=>"x-ray diffraction structure", "descriptionType"=>"Other"}])
- expect(subject.dates).to include({"date"=>"1984-07-17", "dateType"=>"Issued"})
- expect(subject.publication_year).to eq("1984")
- expect(subject.publisher).to eq("Worldwide Protein Data Bank")
- expect(subject.agency).to eq("crossref")
+ expect(subject.creators.first).to eq('nameType' => 'Personal', 'name' => 'Fermi, G.',
+ 'givenName' => 'G.', 'familyName' => 'Fermi')
+ expect(subject.titles).to eq([{ 'title' => 'THE CRYSTAL STRUCTURE OF HUMAN DEOXYHAEMOGLOBIN AT 1.74 ANGSTROMS RESOLUTION' }])
+ expect(subject.descriptions).to eq([{ 'description' => 'x-ray diffraction structure',
+ 'descriptionType' => 'Other' }])
+ expect(subject.dates).to include({ 'date' => '1984-07-17', 'dateType' => 'Issued' })
+ expect(subject.publication_year).to eq('1984')
+ expect(subject.publisher).to eq('Worldwide Protein Data Bank')
+ expect(subject.agency).to eq('crossref')
end
- it "component" do
- input = "10.1371/journal.pmed.0030277.g001"
- subject = Briard::Metadata.new(input: input)
+ it 'component' do
+ input = '10.1371/journal.pmed.0030277.g001'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.1371/journal.pmed.0030277.g001")
- expect(subject.url).to eq("https://dx.plos.org/10.1371/journal.pmed.0030277.g001")
- expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"article-journal", "resourceType"=>"SaComponent", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
- expect(subject.creators).to eq([{"name"=>":(unav)", "nameType"=>"Organizational"}])
- expect(subject.titles).to eq([{"title"=>":(unav)"}])
- expect(subject.descriptions).to be_empty
- expect(subject.dates).to eq([{"date"=>"2015-10-20", "dateType"=>"Issued"}, {"date"=>"2018-10-19T21:13:42Z", "dateType"=>"Updated"}])
- expect(subject.publication_year).to eq("2015")
- expect(subject.publisher).to eq("Public Library of Science (PLoS)")
- expect(subject.agency).to eq("crossref")
+ expect(subject.id).to eq('https://doi.org/10.1371/journal.pmed.0030277.g001')
+ expect(subject.url).to eq('https://dx.plos.org/10.1371/journal.pmed.0030277.g001')
+ expect(subject.types).to eq('bibtex' => 'misc', 'citeproc' => 'article-journal',
+ 'resourceType' => 'SaComponent', 'resourceTypeGeneral' => 'Text', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
+ expect(subject.creators).to eq([{ 'name' => ':(unav)', 'nameType' => 'Organizational' }])
+ expect(subject.titles).to eq([{ 'title' => ':(unav)' }])
+ expect(subject.descriptions.empty?).to be(true)
+ expect(subject.dates).to eq([{ 'date' => '2015-10-20', 'dateType' => 'Issued' },
+ { 'date' => '2018-10-19T21:13:42Z', 'dateType' => 'Updated' }])
+ expect(subject.publication_year).to eq('2015')
+ expect(subject.publisher).to eq('Public Library of Science (PLoS)')
+ expect(subject.agency).to eq('crossref')
end
- it "dataset usda" do
- input = "https://doi.org/10.2737/RDS-2018-0001"
- subject = Briard::Metadata.new(input: input)
- #expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.2737/rds-2018-0001")
- expect(subject.url).to eq("https://www.fs.usda.gov/rds/archive/Catalog/RDS-2018-0001")
- expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"dataset", "resourceType"=>"Dataset", "resourceTypeGeneral"=>"Dataset", "ris"=>"DATA", "schemaOrg"=>"Dataset")
+ it 'dataset usda' do
+ input = 'https://doi.org/10.2737/RDS-2018-0001'
+ subject = described_class.new(input: input)
+ # expect(subject.valid?).to be true
+ expect(subject.id).to eq('https://doi.org/10.2737/rds-2018-0001')
+ expect(subject.url).to eq('https://www.fs.usda.gov/rds/archive/Catalog/RDS-2018-0001')
+ expect(subject.types).to eq('bibtex' => 'misc', 'citeproc' => 'dataset',
+ 'resourceType' => 'Dataset', 'resourceTypeGeneral' => 'Dataset', 'ris' => 'DATA', 'schemaOrg' => 'Dataset')
expect(subject.creators.length).to eq(4)
- expect(subject.creators.first).to eq("familyName" => "Ribic","givenName" => "Christine A.","name" => "Ribic, Christine A.","affiliation" => [{"name"=>"U.S. Geological Survey"}],"nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0003-2583-1778", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}],"nameType" => "Personal")
- expect(subject.titles).to eq([{"title"=>"Fledging times of grassland birds"}])
- expect(subject.descriptions).to be_empty
- expect(subject.dates).to eq([{"date"=>"2017-08-09", "dateType"=>"Issued"}, {"date"=>"2021-07-01T22:10:21Z", "dateType"=>"Updated"}])
- expect(subject.publication_year).to eq("2017")
- expect(subject.publisher).to eq("USDA Forest Service")
- expect(subject.agency).to eq("crossref")
+ expect(subject.creators.first).to eq('familyName' => 'Ribic', 'givenName' => 'Christine A.',
+ 'name' => 'Ribic, Christine A.', 'affiliation' => [{ 'name' => 'U.S. Geological Survey' }], 'nameIdentifiers' => [{ 'nameIdentifier' => 'https://orcid.org/0000-0003-2583-1778', 'nameIdentifierScheme' => 'ORCID', 'schemeUri' => 'https://orcid.org' }], 'nameType' => 'Personal')
+ expect(subject.titles).to eq([{ 'title' => 'Fledging times of grassland birds' }])
+ expect(subject.descriptions.empty?).to be(true)
+ expect(subject.dates).to eq([{ 'date' => '2017-08-09', 'dateType' => 'Issued' },
+ { 'date' => '2021-07-01T22:10:21Z', 'dateType' => 'Updated' }])
+ expect(subject.publication_year).to eq('2017')
+ expect(subject.publisher).to eq('USDA Forest Service')
+ expect(subject.agency).to eq('crossref')
end
- it "book chapter" do
- input = "https://doi.org/10.1007/978-3-662-46370-3_13"
- subject = Briard::Metadata.new(input: input)
+ it 'book chapter' do
+ input = 'https://doi.org/10.1007/978-3-662-46370-3_13'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.1007/978-3-662-46370-3_13")
- expect(subject.url).to eq("http://link.springer.com/10.1007/978-3-662-46370-3_13")
- expect(subject.types).to eq("bibtex"=>"inbook", "citeproc"=>"chapter", "resourceType"=>"BookChapter", "resourceTypeGeneral"=>"BookChapter", "ris"=>"CHAP", "schemaOrg"=>"Chapter")
+ expect(subject.id).to eq('https://doi.org/10.1007/978-3-662-46370-3_13')
+ expect(subject.url).to eq('http://link.springer.com/10.1007/978-3-662-46370-3_13')
+ expect(subject.types).to eq('bibtex' => 'inbook', 'citeproc' => 'chapter',
+ 'resourceType' => 'BookChapter', 'resourceTypeGeneral' => 'BookChapter', 'ris' => 'CHAP', 'schemaOrg' => 'Chapter')
expect(subject.creators.length).to eq(2)
- expect(subject.creators.first).to eq("nameType"=>"Personal", "name"=>"Diercks, Ronald L.", "givenName"=>"Ronald L.", "familyName"=>"Diercks")
- expect(subject.titles).to eq([{"title"=>"Clinical Symptoms and Physical Examinations"}])
- expect(subject.dates).to eq([{"date"=>"2015", "dateType"=>"Issued"}, {"date"=>"2015-04-14T02:31:13Z", "dateType"=>"Updated"}])
- expect(subject.publication_year).to eq("2015")
- expect(subject.publisher).to eq("Springer Science and Business Media LLC")
- expect(subject.agency).to eq("crossref")
- expect(subject.container["type"]).to eq("Book")
- expect(subject.container["title"]).to eq("Shoulder Stiffness")
- expect(subject.container["firstPage"]).to eq("155")
- expect(subject.container["lastPage"]).to eq("158")
- expect(subject.container["identifiers"]).to eq([{"identifier"=>"978-3-662-46369-7", "identifierType"=>"ISBN"}])
+ expect(subject.creators.first).to eq('nameType' => 'Personal', 'name' => 'Diercks, Ronald L.',
+ 'givenName' => 'Ronald L.', 'familyName' => 'Diercks')
+ expect(subject.titles).to eq([{ 'title' => 'Clinical Symptoms and Physical Examinations' }])
+ expect(subject.dates).to eq([{ 'date' => '2015', 'dateType' => 'Issued' },
+ { 'date' => '2015-04-14T02:31:13Z', 'dateType' => 'Updated' }])
+ expect(subject.publication_year).to eq('2015')
+ expect(subject.publisher).to eq('Springer Science and Business Media LLC')
+ expect(subject.agency).to eq('crossref')
+ expect(subject.container['type']).to eq('Book')
+ expect(subject.container['title']).to eq('Shoulder Stiffness')
+ expect(subject.container['firstPage']).to eq('155')
+ expect(subject.container['lastPage']).to eq('158')
+ expect(subject.container['identifiers']).to eq([{ 'identifier' => '978-3-662-46369-7',
+ 'identifierType' => 'ISBN' }])
end
- it "another book chapter" do
- input = "https://doi.org/10.1007/978-3-319-75889-3_1"
- subject = Briard::Metadata.new(input: input)
+ it 'another book chapter' do
+ input = 'https://doi.org/10.1007/978-3-319-75889-3_1'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.1007/978-3-319-75889-3_1")
- expect(subject.url).to eq("http://link.springer.com/10.1007/978-3-319-75889-3_1")
- expect(subject.types).to eq("bibtex"=>"inbook", "citeproc"=>"chapter", "resourceType"=>"BookChapter", "resourceTypeGeneral"=>"BookChapter", "ris"=>"CHAP", "schemaOrg"=>"Chapter")
- expect(subject.creators).to eq([{"familyName"=>"Jones", "givenName"=>"Hunter M.", "name"=>"Jones, Hunter M.", "nameType"=>"Personal"}])
- expect(subject.titles).to eq([{"title"=>"Climate Change and Increasing Risk of Extreme Heat"}])
- expect(subject.dates).to include({"date"=>"2018", "dateType"=>"Issued"})
- expect(subject.publication_year).to eq("2018")
- expect(subject.publisher).to eq("Springer Science and Business Media LLC")
- expect(subject.agency).to eq("crossref")
- expect(subject.container["type"]).to eq("Book Series")
- expect(subject.container["title"]).to eq("SpringerBriefs in Medical Earth Sciences")
- expect(subject.container["identifier"]).to eq("2523-3629")
- expect(subject.container["identifierType"]).to eq("ISSN")
+ expect(subject.id).to eq('https://doi.org/10.1007/978-3-319-75889-3_1')
+ expect(subject.url).to eq('http://link.springer.com/10.1007/978-3-319-75889-3_1')
+ expect(subject.types).to eq('bibtex' => 'inbook', 'citeproc' => 'chapter',
+ 'resourceType' => 'BookChapter', 'resourceTypeGeneral' => 'BookChapter', 'ris' => 'CHAP', 'schemaOrg' => 'Chapter')
+ expect(subject.creators).to eq([{ 'familyName' => 'Jones', 'givenName' => 'Hunter M.',
+ 'name' => 'Jones, Hunter M.', 'nameType' => 'Personal' }])
+ expect(subject.titles).to eq([{ 'title' => 'Climate Change and Increasing Risk of Extreme Heat' }])
+ expect(subject.dates).to include({ 'date' => '2018', 'dateType' => 'Issued' })
+ expect(subject.publication_year).to eq('2018')
+ expect(subject.publisher).to eq('Springer Science and Business Media LLC')
+ expect(subject.agency).to eq('crossref')
+ expect(subject.container['type']).to eq('Book Series')
+ expect(subject.container['title']).to eq('SpringerBriefs in Medical Earth Sciences')
+ expect(subject.container['identifier']).to eq('2523-3629')
+ expect(subject.container['identifierType']).to eq('ISSN')
end
- it "yet another book chapter" do
- input = "https://doi.org/10.4018/978-1-4666-1891-6.ch004"
- subject = Briard::Metadata.new(input: input)
+ it 'yet another book chapter' do
+ input = 'https://doi.org/10.4018/978-1-4666-1891-6.ch004'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.4018/978-1-4666-1891-6.ch004")
- expect(subject.url).to eq("http://services.igi-global.com/resolvedoi/resolve.aspx?doi=10.4018/978-1-4666-1891-6.ch004")
- expect(subject.types).to eq("bibtex"=>"inbook", "citeproc"=>"chapter", "resourceType"=>"BookChapter", "resourceTypeGeneral"=>"BookChapter", "ris"=>"CHAP", "schemaOrg"=>"Chapter")
- expect(subject.creators).to eq([{"affiliation"=>[{"name"=>"Universit?? de Lyon, France"}], "familyName"=>"Bichot", "givenName"=>"Charles-Edmond", "name"=>"Bichot, Charles-Edmond", "nameType"=>"Personal"}])
- expect(subject.titles).to eq([{"title"=>"Unsupervised and Supervised Image Segmentation Using Graph Partitioning"}])
- expect(subject.dates).to eq([{"date"=>"2012-08-08", "dateType"=>"Issued"}, {"date"=>"2019-07-02T13:17:21Z", "dateType"=>"Updated"}])
- expect(subject.publication_year).to eq("2012")
- expect(subject.publisher).to eq("IGI Global")
- expect(subject.agency).to eq("crossref")
- expect(subject.container["type"]).to eq("Book")
- expect(subject.container["title"]).to eq("Graph-Based Methods in Computer Vision")
- expect(subject.container["firstPage"]).to eq("72")
- expect(subject.container["lastPage"]).to eq("94")
- expect(subject.container["identifiers"]).to eq([{"identifier"=>"9781466618916", "identifierType"=>"ISBN"}])
+ expect(subject.id).to eq('https://doi.org/10.4018/978-1-4666-1891-6.ch004')
+ expect(subject.url).to eq('http://services.igi-global.com/resolvedoi/resolve.aspx?doi=10.4018/978-1-4666-1891-6.ch004')
+ expect(subject.types).to eq('bibtex' => 'inbook', 'citeproc' => 'chapter',
+ 'resourceType' => 'BookChapter', 'resourceTypeGeneral' => 'BookChapter', 'ris' => 'CHAP', 'schemaOrg' => 'Chapter')
+ expect(subject.creators).to eq([{ 'affiliation' => [{ 'name' => 'Universit?? de Lyon, France' }],
+ 'familyName' => 'Bichot', 'givenName' => 'Charles-Edmond', 'name' => 'Bichot, Charles-Edmond', 'nameType' => 'Personal' }])
+ expect(subject.titles).to eq([{ 'title' => 'Unsupervised and Supervised Image Segmentation Using Graph Partitioning' }])
+ expect(subject.dates).to eq([{ 'date' => '2012-08-08', 'dateType' => 'Issued' },
+ { 'date' => '2019-07-02T13:17:21Z', 'dateType' => 'Updated' }])
+ expect(subject.publication_year).to eq('2012')
+ expect(subject.publisher).to eq('IGI Global')
+ expect(subject.agency).to eq('crossref')
+ expect(subject.container['type']).to eq('Book')
+ expect(subject.container['title']).to eq('Graph-Based Methods in Computer Vision')
+ expect(subject.container['firstPage']).to eq('72')
+ expect(subject.container['lastPage']).to eq('94')
+ expect(subject.container['identifiers']).to eq([{ 'identifier' => '9781466618916',
+ 'identifierType' => 'ISBN' }])
end
- it "missing creator" do
- input = "https://doi.org/10.3390/publications6020015"
- subject = Briard::Metadata.new(input: input)
+ it 'missing creator' do
+ input = 'https://doi.org/10.3390/publications6020015'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.3390/publications6020015")
- expect(subject.url).to eq("https://www.mdpi.com/2304-6775/6/2/15")
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
- expect(subject.creators).to eq([{"familyName"=>"Kohls",
- "givenName"=>"Alexander",
- "name"=>"Kohls, Alexander",
- "nameIdentifiers"=>
- [{"nameIdentifier"=>"https://orcid.org/0000-0002-3836-8885",
- "nameIdentifierScheme"=>"ORCID",
- "schemeUri"=>"https://orcid.org"}],
- "nameType"=>"Personal"},
- {"familyName"=>"Mele",
- "givenName"=>"Salvatore",
- "name"=>"Mele, Salvatore",
- "nameIdentifiers"=>
- [{"nameIdentifier"=>"https://orcid.org/0000-0003-0762-2235",
- "nameIdentifierScheme"=>"ORCID",
- "schemeUri"=>"https://orcid.org"}],
- "nameType"=>"Personal"}])
- expect(subject.titles).to eq([{"title"=>"Converting the Literature of a Scientific Field to Open Access through Global Collaboration: The Experience of SCOAP3 in Particle Physics"}])
- expect(subject.dates).to eq([{"date"=>"2018-04-09", "dateType"=>"Issued"}, {"date"=>"2021-07-22T10:05:05Z", "dateType"=>"Updated"}])
- expect(subject.publication_year).to eq("2018")
- expect(subject.publisher).to eq("MDPI AG")
- expect(subject.agency).to eq("crossref")
+ expect(subject.id).to eq('https://doi.org/10.3390/publications6020015')
+ expect(subject.url).to eq('https://www.mdpi.com/2304-6775/6/2/15')
+ expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
+ 'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
+ expect(subject.creators).to eq([{ 'familyName' => 'Kohls',
+ 'givenName' => 'Alexander',
+ 'name' => 'Kohls, Alexander',
+ 'nameIdentifiers' =>
+ [{ 'nameIdentifier' => 'https://orcid.org/0000-0002-3836-8885',
+ 'nameIdentifierScheme' => 'ORCID',
+ 'schemeUri' => 'https://orcid.org' }],
+ 'nameType' => 'Personal' },
+ { 'familyName' => 'Mele',
+ 'givenName' => 'Salvatore',
+ 'name' => 'Mele, Salvatore',
+ 'nameIdentifiers' =>
+ [{ 'nameIdentifier' => 'https://orcid.org/0000-0003-0762-2235',
+ 'nameIdentifierScheme' => 'ORCID',
+ 'schemeUri' => 'https://orcid.org' }],
+ 'nameType' => 'Personal' }])
+ expect(subject.titles).to eq([{ 'title' => 'Converting the Literature of a Scientific Field to Open Access through Global Collaboration: The Experience of SCOAP3 in Particle Physics' }])
+ expect(subject.dates).to eq([{ 'date' => '2018-04-09', 'dateType' => 'Issued' },
+ { 'date' => '2021-07-22T10:05:05Z', 'dateType' => 'Updated' }])
+ expect(subject.publication_year).to eq('2018')
+ expect(subject.publisher).to eq('MDPI AG')
+ expect(subject.agency).to eq('crossref')
end
- it "book" do
- input = "https://doi.org/10.1017/9781108348843"
- subject = Briard::Metadata.new(input: input)
+ it 'book' do
+ input = 'https://doi.org/10.1017/9781108348843'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.1017/9781108348843")
- expect(subject.identifiers).to eq([{"identifier"=>"9781108348843", "identifierType"=>"ISBN"}])
- expect(subject.url).to eq("https://www.cambridge.org/core/product/identifier/9781108348843/type/book")
- expect(subject.types).to eq("bibtex"=>"book", "citeproc"=>"book", "resourceType"=>"Book", "resourceTypeGeneral"=>"Book", "ris"=>"BOOK", "schemaOrg"=>"Book")
- expect(subject.creators).to eq([{"familyName"=>"Leung", "givenName"=>"Vincent S.", "name"=>"Leung, Vincent S.", "nameType"=>"Personal"}])
- expect(subject.titles).to eq([{"title"=>"The Politics of the Past in Early China"}])
- expect(subject.dates).to eq([{"date"=>"2019-07-01", "dateType"=>"Issued"}, {"date"=>"2021-01-08T19:18:57Z", "dateType"=>"Updated"}])
- expect(subject.publication_year).to eq("2019")
- expect(subject.publisher).to eq("Cambridge University Press (CUP)")
- expect(subject.agency).to eq("crossref")
- expect(subject.date_registered).to eq("2019-07-06T10:19:22Z")
+ expect(subject.id).to eq('https://doi.org/10.1017/9781108348843')
+ expect(subject.identifiers).to eq([{ 'identifier' => '9781108348843',
+ 'identifierType' => 'ISBN' }])
+ expect(subject.url).to eq('https://www.cambridge.org/core/product/identifier/9781108348843/type/book')
+ expect(subject.types).to eq('bibtex' => 'book', 'citeproc' => 'book', 'resourceType' => 'Book',
+ 'resourceTypeGeneral' => 'Book', 'ris' => 'BOOK', 'schemaOrg' => 'Book')
+ expect(subject.creators).to eq([{ 'familyName' => 'Leung', 'givenName' => 'Vincent S.',
+ 'name' => 'Leung, Vincent S.', 'nameType' => 'Personal' }])
+ expect(subject.titles).to eq([{ 'title' => 'The Politics of the Past in Early China' }])
+ expect(subject.dates).to eq([{ 'date' => '2019-07-01', 'dateType' => 'Issued' },
+ { 'date' => '2021-01-08T19:18:57Z', 'dateType' => 'Updated' }])
+ expect(subject.publication_year).to eq('2019')
+ expect(subject.publisher).to eq('Cambridge University Press (CUP)')
+ expect(subject.agency).to eq('crossref')
+ expect(subject.date_registered).to eq('2019-07-06T10:19:22Z')
end
- it "another book" do
- input = "https://doi.org/10.2973/odp.proc.ir.180.2000"
- subject = Briard::Metadata.new(input: input)
+ it 'another book' do
+ input = 'https://doi.org/10.2973/odp.proc.ir.180.2000'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.2973/odp.proc.ir.180.2000")
- expect(subject.url).to eq("http://www-odp.tamu.edu/publications/180_IR/180TOC.HTM")
- expect(subject.types).to eq("bibtex"=>"book", "citeproc"=>"book", "resourceType"=>"Book", "resourceTypeGeneral"=>"Book", "ris"=>"BOOK", "schemaOrg"=>"Book")
- expect(subject.creators).to eq([{"name"=>":(unav)", "nameType"=>"Organizational"}])
+ expect(subject.id).to eq('https://doi.org/10.2973/odp.proc.ir.180.2000')
+ expect(subject.url).to eq('http://www-odp.tamu.edu/publications/180_IR/180TOC.HTM')
+ expect(subject.types).to eq('bibtex' => 'book', 'citeproc' => 'book', 'resourceType' => 'Book',
+ 'resourceTypeGeneral' => 'Book', 'ris' => 'BOOK', 'schemaOrg' => 'Book')
+ expect(subject.creators).to eq([{ 'name' => ':(unav)', 'nameType' => 'Organizational' }])
expect(subject.contributors.size).to eq(4)
- expect(subject.contributors.first).to eq("contributorType"=>"Editor", "familyName"=>"Taylor", "givenName"=>"B.", "name"=>"Taylor, B.", "nameType"=>"Personal")
- expect(subject.titles).to eq([{"title"=>"Proceedings of the Ocean Drilling Program, 180 Initial Reports"}])
- expect(subject.dates).to eq([{"date"=>"2000-02-04", "dateType"=>"Issued"}, {"date"=>"2009-02-02T21:19:43Z", "dateType"=>"Updated"}])
- expect(subject.publication_year).to eq("2000")
- expect(subject.publisher).to eq("International Ocean Discovery Program (IODP)")
- expect(subject.agency).to eq("crossref")
- expect(subject.date_registered).to eq("2006-10-17T20:17:44Z")
+ expect(subject.contributors.first).to eq('contributorType' => 'Editor', 'familyName' => 'Taylor',
+ 'givenName' => 'B.', 'name' => 'Taylor, B.', 'nameType' => 'Personal')
+ expect(subject.titles).to eq([{ 'title' => 'Proceedings of the Ocean Drilling Program, 180 Initial Reports' }])
+ expect(subject.dates).to eq([{ 'date' => '2000-02-04', 'dateType' => 'Issued' },
+ { 'date' => '2009-02-02T21:19:43Z', 'dateType' => 'Updated' }])
+ expect(subject.publication_year).to eq('2000')
+ expect(subject.publisher).to eq('International Ocean Discovery Program (IODP)')
+ expect(subject.agency).to eq('crossref')
+ expect(subject.date_registered).to eq('2006-10-17T20:17:44Z')
end
- it "yet another book" do
- input = "https://doi.org/10.1029/ar035"
- subject = Briard::Metadata.new(input: input)
+ it 'yet another book' do
+ input = 'https://doi.org/10.1029/ar035'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.1029/ar035")
- expect(subject.identifiers).to eq([{"identifier"=>"0-87590-181-6", "identifierType"=>"ISBN"}])
- expect(subject.url).to eq("http://doi.wiley.com/10.1029/AR035")
- expect(subject.types).to eq("bibtex"=>"book", "citeproc"=>"book", "resourceType"=>"Book", "resourceTypeGeneral"=>"Book", "ris"=>"BOOK", "schemaOrg"=>"Book")
- expect(subject.creators).to eq([{"familyName"=>"McGinnis", "givenName"=>"Richard Frank", "name"=>"McGinnis, Richard Frank", "nameType"=>"Personal"}])
- expect(subject.titles).to eq([{"title"=>"Biogeography of Lanternfishes (Myctophidae) South of 30??S"}])
- expect(subject.dates).to eq([{"date"=>"1982", "dateType"=>"Issued"}, {"date"=>"2021-12-04T00:09:54Z", "dateType"=>"Updated"}])
- expect(subject.publication_year).to eq("1982")
- expect(subject.publisher).to eq("Wiley")
+ expect(subject.id).to eq('https://doi.org/10.1029/ar035')
+ expect(subject.identifiers).to eq([{ 'identifier' => '0-87590-181-6',
+ 'identifierType' => 'ISBN' }])
+ expect(subject.url).to eq('http://doi.wiley.com/10.1029/AR035')
+ expect(subject.types).to eq('bibtex' => 'book', 'citeproc' => 'book', 'resourceType' => 'Book',
+ 'resourceTypeGeneral' => 'Book', 'ris' => 'BOOK', 'schemaOrg' => 'Book')
+ expect(subject.creators).to eq([{ 'familyName' => 'McGinnis', 'givenName' => 'Richard Frank',
+ 'name' => 'McGinnis, Richard Frank', 'nameType' => 'Personal' }])
+ expect(subject.titles).to eq([{ 'title' => 'Biogeography of Lanternfishes (Myctophidae) South of 30??S' }])
+ expect(subject.dates).to eq([{ 'date' => '1982', 'dateType' => 'Issued' },
+ { 'date' => '2021-12-04T00:09:54Z', 'dateType' => 'Updated' }])
+ expect(subject.publication_year).to eq('1982')
+ expect(subject.publisher).to eq('Wiley')
expect(subject.related_identifiers.length).to eq(46)
- expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"10.1016/0031-0182(70)90103-3", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
- expect(subject.container).to eq("identifier"=>"0066-4634", "identifierType"=>"ISSN", "title"=>"Antarctic Research Series", "type"=>"Book Series", "volume"=>"35")
- expect(subject.agency).to eq("crossref")
- expect(subject.date_registered).to be_nil
+ expect(subject.related_identifiers.first).to eq(
+ 'relatedIdentifier' => '10.1016/0031-0182(70)90103-3', 'relatedIdentifierType' => 'DOI', 'relationType' => 'References'
+ )
+ expect(subject.container).to eq('identifier' => '0066-4634', 'identifierType' => 'ISSN',
+ 'title' => 'Antarctic Research Series', 'type' => 'Book Series', 'volume' => '35')
+ expect(subject.agency).to eq('crossref')
+ expect(subject.date_registered.nil?).to be(true)
end
- it "mEDRA" do
- input = "https://doi.org/10.3280/ecag2018-001005"
- subject = Briard::Metadata.new(input: input)
+ it 'mEDRA' do
+ input = 'https://doi.org/10.3280/ecag2018-001005'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.3280/ecag2018-001005")
- expect(subject.identifiers).to eq([{"identifier"=>"5", "identifierType"=>"article_number"}])
- expect(subject.url).to eq("http://www.francoangeli.it/riviste/Scheda_Riviste.asp?IDArticolo=61645")
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
+ expect(subject.id).to eq('https://doi.org/10.3280/ecag2018-001005')
+ expect(subject.identifiers).to eq([{ 'identifier' => '5',
+ 'identifierType' => 'article_number' }])
+ expect(subject.url).to eq('http://www.francoangeli.it/riviste/Scheda_Riviste.asp?IDArticolo=61645')
+ expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
+ 'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
expect(subject.creators.length).to eq(2)
- expect(subject.creators.first).to eq("familyName"=>"Oh", "givenName"=>"Sohae Eve", "name"=>"Oh, Sohae Eve", "nameType"=>"Personal")
- expect(subject.titles).to eq([{"title"=>"Substitutability between organic and conventional poultry products and organic price premiums"}])
- expect(subject.dates).to include({"date"=>"2018-05", "dateType"=>"Issued"})
- expect(subject.publication_year).to eq("2018")
- expect(subject.publisher).to eq("Franco Angeli")
- expect(subject.agency).to eq("crossref")
+ expect(subject.creators.first).to eq('familyName' => 'Oh', 'givenName' => 'Sohae Eve',
+ 'name' => 'Oh, Sohae Eve', 'nameType' => 'Personal')
+ expect(subject.titles).to eq([{ 'title' => 'Substitutability between organic and conventional poultry products and organic price premiums' }])
+ expect(subject.dates).to include({ 'date' => '2018-05', 'dateType' => 'Issued' })
+ expect(subject.publication_year).to eq('2018')
+ expect(subject.publisher).to eq('Franco Angeli')
+ expect(subject.agency).to eq('crossref')
end
- it "KISTI" do
- input = "https://doi.org/10.5012/bkcs.2013.34.10.2889"
- subject = Briard::Metadata.new(input: input)
+ it 'KISTI' do
+ input = 'https://doi.org/10.5012/bkcs.2013.34.10.2889'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.5012/bkcs.2013.34.10.2889")
- expect(subject.identifiers).to eq([{"identifier"=>"JCGMCS_2013_v34n10_2889", "identifierType"=>"Publisher ID"}])
- expect(subject.url).to eq("http://koreascience.or.kr/journal/view.jsp?kj=JCGMCS&py=2013&vnc=v34n10&sp=2889")
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
+ expect(subject.id).to eq('https://doi.org/10.5012/bkcs.2013.34.10.2889')
+ expect(subject.identifiers).to eq([{ 'identifier' => 'JCGMCS_2013_v34n10_2889',
+ 'identifierType' => 'Publisher ID' }])
+ expect(subject.url).to eq('http://koreascience.or.kr/journal/view.jsp?kj=JCGMCS&py=2013&vnc=v34n10&sp=2889')
+ expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
+ 'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
expect(subject.creators.length).to eq(7)
- expect(subject.creators.first).to eq("familyName"=>"Huang", "givenName"=>"Guimei", "name"=>"Huang, Guimei", "nameType"=>"Personal")
- expect(subject.titles).to eq([{"title"=>"Synthesis, Crystal Structure and Theoretical Calculation of a Novel Nickel(II) Complex with Dibromotyrosine and 1,10-Phenanthroline"}])
- expect(subject.dates).to eq([{"date"=>"2013-10-20", "dateType"=>"Issued"}, {"date"=>"2016-12-14T21:40:52Z", "dateType"=>"Updated"}])
- expect(subject.publication_year).to eq("2013")
- expect(subject.publisher).to eq("Korean Chemical Society")
- expect(subject.agency).to eq("KISTI")
+ expect(subject.creators.first).to eq('familyName' => 'Huang', 'givenName' => 'Guimei',
+ 'name' => 'Huang, Guimei', 'nameType' => 'Personal')
+ expect(subject.titles).to eq([{ 'title' => 'Synthesis, Crystal Structure and Theoretical Calculation of a Novel Nickel(II) Complex with Dibromotyrosine and 1,10-Phenanthroline' }])
+ expect(subject.dates).to eq([{ 'date' => '2013-10-20', 'dateType' => 'Issued' },
+ { 'date' => '2016-12-14T21:40:52Z', 'dateType' => 'Updated' }])
+ expect(subject.publication_year).to eq('2013')
+ expect(subject.publisher).to eq('Korean Chemical Society')
+ expect(subject.agency).to eq('KISTI')
end
- it "JaLC" do
- input = "https://doi.org/10.1241/johokanri.39.979"
- subject = Briard::Metadata.new(input: input)
+ it 'JaLC' do
+ input = 'https://doi.org/10.1241/johokanri.39.979'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.1241/johokanri.39.979")
- expect(subject.url).to eq("http://joi.jlc.jst.go.jp/JST.JSTAGE/johokanri/39.979?from=CrossRef")
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
- expect(subject.creators).to eq([{"familyName"=>"KUSUMOTO", "givenName"=>"Hiroyuki", "name"=>"KUSUMOTO, Hiroyuki", "nameType"=>"Personal"}])
- expect(subject.titles).to eq([{"title"=>"Utilizing the Internet. 12 Series. Future of the Internet."}])
- expect(subject.dates).to eq([{"date"=>"1997", "dateType"=>"Issued"}, {"date"=>"2020-03-06T06:44:36Z", "dateType"=>"Updated"}])
- expect(subject.publication_year).to eq("1997")
- expect(subject.publisher).to eq("Japan Science and Technology Agency (JST)")
- expect(subject.agency).to eq("JaLC")
+ expect(subject.id).to eq('https://doi.org/10.1241/johokanri.39.979')
+ expect(subject.url).to eq('http://joi.jlc.jst.go.jp/JST.JSTAGE/johokanri/39.979?from=CrossRef')
+ expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
+ 'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
+ expect(subject.creators).to eq([{ 'familyName' => 'KUSUMOTO', 'givenName' => 'Hiroyuki',
+ 'name' => 'KUSUMOTO, Hiroyuki', 'nameType' => 'Personal' }])
+ expect(subject.titles).to eq([{ 'title' => 'Utilizing the Internet. 12 Series. Future of the Internet.' }])
+ expect(subject.dates).to eq([{ 'date' => '1997', 'dateType' => 'Issued' },
+ { 'date' => '2020-03-06T06:44:36Z', 'dateType' => 'Updated' }])
+ expect(subject.publication_year).to eq('1997')
+ expect(subject.publisher).to eq('Japan Science and Technology Agency (JST)')
+ expect(subject.agency).to eq('JaLC')
end
- it "OP" do
- input = "https://doi.org/10.2903/j.efsa.2018.5239"
- subject = Briard::Metadata.new(input: input)
+ it 'OP' do
+ input = 'https://doi.org/10.2903/j.efsa.2018.5239'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.2903/j.efsa.2018.5239")
- expect(subject.url).to eq("http://doi.wiley.com/10.2903/j.efsa.2018.5239")
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
+ expect(subject.id).to eq('https://doi.org/10.2903/j.efsa.2018.5239')
+ expect(subject.url).to eq('http://doi.wiley.com/10.2903/j.efsa.2018.5239')
+ expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
+ 'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
expect(subject.creators.length).to eq(28)
- expect(subject.creators.first).to eq("familyName"=>"Younes", "givenName"=>"Maged", "name"=>"Younes, Maged", "nameType"=>"Personal")
- expect(subject.titles).to eq([{"title"=>"Scientific opinion on the safety of green tea catechins"}])
- expect(subject.dates).to include({"date"=>"2018-04", "dateType"=>"Issued"})
- expect(subject.publication_year).to eq("2018")
- expect(subject.publisher).to eq("Wiley")
- expect(subject.agency).to eq("OP")
+ expect(subject.creators.first).to eq('familyName' => 'Younes', 'givenName' => 'Maged',
+ 'name' => 'Younes, Maged', 'nameType' => 'Personal')
+ expect(subject.titles).to eq([{ 'title' => 'Scientific opinion on the safety of green tea catechins' }])
+ expect(subject.dates).to include({ 'date' => '2018-04', 'dateType' => 'Issued' })
+ expect(subject.publication_year).to eq('2018')
+ expect(subject.publisher).to eq('Wiley')
+ expect(subject.agency).to eq('OP')
end
- it "multiple titles" do
- input = "https://doi.org/10.4000/dms.865"
- subject = Briard::Metadata.new(input: input)
+ it 'multiple titles' do
+ input = 'https://doi.org/10.4000/dms.865'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.4000/dms.865")
- expect(subject.url).to eq("http://journals.openedition.org/dms/865")
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
- expect(subject.creators).to eq([{"familyName"=>"Peraya", "givenName"=>"Daniel", "name"=>"Peraya, Daniel", "nameType"=>"Personal"}])
- expect(subject.titles).to eq([{"title"=>"Distances, absence, proximit??s et pr??sences??: des concepts en d??placement"}, {"title"=>"Distance(s), proximity and presence(s): evolving concepts"}])
- expect(subject.dates).to include({"date"=>"2014-12-14", "dateType"=>"Issued"})
- expect(subject.publication_year).to eq("2014")
- expect(subject.publisher).to eq("OpenEdition")
- expect(subject.agency).to eq("crossref")
- expect(subject.date_registered).to be_nil
+ expect(subject.id).to eq('https://doi.org/10.4000/dms.865')
+ expect(subject.url).to eq('http://journals.openedition.org/dms/865')
+ expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
+ 'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
+ expect(subject.creators).to eq([{ 'familyName' => 'Peraya', 'givenName' => 'Daniel',
+ 'name' => 'Peraya, Daniel', 'nameType' => 'Personal' }])
+ expect(subject.titles).to eq([
+ { 'title' => 'Distances, absence, proximit??s et pr??sences??: des concepts en d??placement' }, { 'title' => 'Distance(s), proximity and presence(s): evolving concepts' }
+ ])
+ expect(subject.dates).to include({ 'date' => '2014-12-14', 'dateType' => 'Issued' })
+ expect(subject.publication_year).to eq('2014')
+ expect(subject.publisher).to eq('OpenEdition')
+ expect(subject.agency).to eq('crossref')
+ expect(subject.date_registered.nil?).to be(true)
end
- it "multiple titles with missing" do
- input = "https://doi.org/10.1186/1471-2164-7-187"
- subject = Briard::Metadata.new(input: input)
+ it 'multiple titles with missing' do
+ input = 'https://doi.org/10.1186/1471-2164-7-187'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.1186/1471-2164-7-187")
- expect(subject.url).to eq("https://bmcgenomics.biomedcentral.com/articles/10.1186/1471-2164-7-187")
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
- expect(subject.creators).to eq([{"familyName"=>"Myers",
- "givenName"=>"Chad L",
- "name"=>"Myers, Chad L",
- "nameType"=>"Personal"},
- {"familyName"=>"Barrett",
- "givenName"=>"Daniel R",
- "name"=>"Barrett, Daniel R",
- "nameType"=>"Personal"},
- {"familyName"=>"Hibbs",
- "givenName"=>"Matthew A",
- "name"=>"Hibbs, Matthew A",
- "nameType"=>"Personal"},
- {"familyName"=>"Huttenhower",
- "givenName"=>"Curtis",
- "name"=>"Huttenhower, Curtis",
- "nameType"=>"Personal"},
- {"familyName"=>"Troyanskaya",
- "givenName"=>"Olga G",
- "name"=>"Troyanskaya, Olga G",
- "nameType"=>"Personal"}])
- expect(subject.titles).to eq([{"title"=>"Finding function: evaluation methods for functional genomic data"}])
- expect(subject.dates).to include({"date"=>"2006-07-25", "dateType"=>"Issued"})
- expect(subject.publication_year).to eq("2006")
- expect(subject.publisher).to eq("Springer Science and Business Media LLC")
- expect(subject.agency).to eq("crossref")
- expect(subject.date_registered).to eq("2021-08-31T17:31:49Z")
+ expect(subject.id).to eq('https://doi.org/10.1186/1471-2164-7-187')
+ expect(subject.url).to eq('https://bmcgenomics.biomedcentral.com/articles/10.1186/1471-2164-7-187')
+ expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
+ 'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
+ expect(subject.creators).to eq([{ 'familyName' => 'Myers',
+ 'givenName' => 'Chad L',
+ 'name' => 'Myers, Chad L',
+ 'nameType' => 'Personal' },
+ { 'familyName' => 'Barrett',
+ 'givenName' => 'Daniel R',
+ 'name' => 'Barrett, Daniel R',
+ 'nameType' => 'Personal' },
+ { 'familyName' => 'Hibbs',
+ 'givenName' => 'Matthew A',
+ 'name' => 'Hibbs, Matthew A',
+ 'nameType' => 'Personal' },
+ { 'familyName' => 'Huttenhower',
+ 'givenName' => 'Curtis',
+ 'name' => 'Huttenhower, Curtis',
+ 'nameType' => 'Personal' },
+ { 'familyName' => 'Troyanskaya',
+ 'givenName' => 'Olga G',
+ 'name' => 'Troyanskaya, Olga G',
+ 'nameType' => 'Personal' }])
+ expect(subject.titles).to eq([{ 'title' => 'Finding function: evaluation methods for functional genomic data' }])
+ expect(subject.dates).to include({ 'date' => '2006-07-25', 'dateType' => 'Issued' })
+ expect(subject.publication_year).to eq('2006')
+ expect(subject.publisher).to eq('Springer Science and Business Media LLC')
+ expect(subject.agency).to eq('crossref')
+ expect(subject.date_registered).to eq('2021-08-31T17:31:49Z')
end
- it "markup" do
- input = "https://doi.org/10.1098/rspb.2017.0132"
- subject = Briard::Metadata.new(input: input)
+ it 'markup' do
+ input = 'https://doi.org/10.1098/rspb.2017.0132'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.1098/rspb.2017.0132")
- expect(subject.url).to eq("https://royalsocietypublishing.org/doi/10.1098/rspb.2017.0132")
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
+ expect(subject.id).to eq('https://doi.org/10.1098/rspb.2017.0132')
+ expect(subject.url).to eq('https://royalsocietypublishing.org/doi/10.1098/rspb.2017.0132')
+ expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
+ 'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
expect(subject.creators.size).to eq(6)
- expect(subject.creators.first).to eq("affiliation" => [{"name"=>"School of Biological Sciences, Centre for Evolutionary Biology, University of Western Australia, Crawley, WA 6009, Australia"}], "familyName" => "Dougherty","givenName" => "Liam R.","name" => "Dougherty, Liam R.","nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0003-1406-0680", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}],"nameType"=>"Personal")
- expect(subject.titles).to eq([{"title"=>"Sexual conflict and correlated evolution between male persistence and female resistance traits in the seed beetle <i>Callosobruchus maculatus</i>"}])
- expect(subject.dates).to include({"date"=>"2017-05-24", "dateType"=>"Issued"})
- expect(subject.publication_year).to eq("2017")
- expect(subject.publisher).to eq("The Royal Society")
- expect(subject.agency).to eq("crossref")
- expect(subject.date_registered).to eq("2021-02-14T10:36:45Z")
+ expect(subject.creators.first).to eq(
+ 'affiliation' => [{ 'name' => 'School of Biological Sciences, Centre for Evolutionary Biology, University of Western Australia, Crawley, WA 6009, Australia' }], 'familyName' => 'Dougherty', 'givenName' => 'Liam R.', 'name' => 'Dougherty, Liam R.', 'nameIdentifiers' => [{
+ 'nameIdentifier' => 'https://orcid.org/0000-0003-1406-0680', 'nameIdentifierScheme' => 'ORCID', 'schemeUri' => 'https://orcid.org'
+ }], 'nameType' => 'Personal'
+ )
+ expect(subject.titles).to eq([{ 'title' => 'Sexual conflict and correlated evolution between male persistence and female resistance traits in the seed beetle <i>Callosobruchus maculatus</i>' }])
+ expect(subject.dates).to include({ 'date' => '2017-05-24', 'dateType' => 'Issued' })
+ expect(subject.publication_year).to eq('2017')
+ expect(subject.publisher).to eq('The Royal Society')
+ expect(subject.agency).to eq('crossref')
+ expect(subject.date_registered).to eq('2021-02-14T10:36:45Z')
end
- it "empty given name" do
- input = "https://doi.org/10.1111/J.1865-1682.2010.01171.X"
- subject = Briard::Metadata.new(input: input)
+ it 'empty given name' do
+ input = 'https://doi.org/10.1111/J.1865-1682.2010.01171.X'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.1111/j.1865-1682.2010.01171.x")
- expect(subject.url).to eq("https://onlinelibrary.wiley.com/doi/10.1111/j.1865-1682.2010.01171.x")
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
+ expect(subject.id).to eq('https://doi.org/10.1111/j.1865-1682.2010.01171.x')
+ expect(subject.url).to eq('https://onlinelibrary.wiley.com/doi/10.1111/j.1865-1682.2010.01171.x')
+ expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
+ 'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
expect(subject.creators.length).to eq(5)
- expect(subject.creators[3]).to eq("familyName"=>"Ehtisham-ul-Haq", "givenName"=>"???", "name"=>"Ehtisham-ul-Haq, ???", "nameType"=>"Personal")
- expect(subject.titles).to eq([{"title"=>"Serological Evidence of Brucella abortus Prevalence in Punjab Province, Pakistan - A Cross-Sectional Study"}])
- expect(subject.rights_list).to eq([{"rightsUri"=>"http://doi.wiley.com/10.1002/tdm_license_1.1"}])
- expect(subject.dates).to eq([{"date"=>"2010-12", "dateType"=>"Issued"}, {"date"=>"2021-07-07T02:32:16Z", "dateType"=>"Updated"}])
- expect(subject.publication_year).to eq("2010")
- expect(subject.publisher).to eq("Wiley")
+ expect(subject.creators[3]).to eq('familyName' => 'Ehtisham-ul-Haq', 'givenName' => '???',
+ 'name' => 'Ehtisham-ul-Haq, ???', 'nameType' => 'Personal')
+ expect(subject.titles).to eq([{ 'title' => 'Serological Evidence of Brucella abortus Prevalence in Punjab Province, Pakistan - A Cross-Sectional Study' }])
+ expect(subject.rights_list).to eq([{ 'rightsUri' => 'http://doi.wiley.com/10.1002/tdm_license_1.1' }])
+ expect(subject.dates).to eq([{ 'date' => '2010-12', 'dateType' => 'Issued' },
+ { 'date' => '2021-07-07T02:32:16Z', 'dateType' => 'Updated' }])
+ expect(subject.publication_year).to eq('2010')
+ expect(subject.publisher).to eq('Wiley')
end
- it "invalid date" do
- input = "https://doi.org/10.1055/s-0039-1690894"
- subject = Briard::Metadata.new(input: input)
+ it 'invalid date' do
+ input = 'https://doi.org/10.1055/s-0039-1690894'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.1055/s-0039-1690894")
- expect(subject.identifiers).to eq([{"identifier"=>"s-0039-1690894", "identifierType"=>"sequence-number"}])
- expect(subject.url).to eq("http://www.thieme-connect.de/DOI/DOI?10.1055/s-0039-1690894")
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
+ expect(subject.id).to eq('https://doi.org/10.1055/s-0039-1690894')
+ expect(subject.identifiers).to eq([{ 'identifier' => 's-0039-1690894',
+ 'identifierType' => 'sequence-number' }])
+ expect(subject.url).to eq('http://www.thieme-connect.de/DOI/DOI?10.1055/s-0039-1690894')
+ expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
+ 'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
expect(subject.creators.length).to eq(4)
- expect(subject.creators[3]).to eq("affiliation" => [{"name"=>"Department of Chemistry, Tianjin Key Laboratory of Molecular Optoelectronic Sciences, and Tianjin Collaborative Innovation Centre of Chemical Science and Engineering, Tianjin University"}, {"name"=>"Joint School of National University of Singapore and Tianjin University, International Campus of Tianjin University"}],
- "familyName" => "Ma",
- "givenName" => "Jun-An",
- "name" => "Ma, Jun-An",
- "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0002-3902-6799", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}],
- "nameType" => "Personal")
- expect(subject.titles).to eq([{"title"=>"Silver-Catalyzed [3+3] Annulation of Glycine Imino Esters with Seyferth???Gilbert Reagent To Access Tetrahydro-1,2,4-triazinecarboxylate Esters"}])
- expect(subject.dates).to eq([{"date"=>"2020-04-08", "dateType"=>"Issued"}, {"date"=>"2020-06-16T23:13:36Z", "dateType"=>"Updated"}])
- expect(subject.publication_year).to eq("2020")
- expect(subject.publisher).to eq("Georg Thieme Verlag KG")
+ expect(subject.creators[3]).to eq('affiliation' => [{ 'name' => 'Department of Chemistry, Tianjin Key Laboratory of Molecular Optoelectronic Sciences, and Tianjin Collaborative Innovation Centre of Chemical Science and Engineering, Tianjin University' }, { 'name' => 'Joint School of National University of Singapore and Tianjin University, International Campus of Tianjin University' }],
+ 'familyName' => 'Ma',
+ 'givenName' => 'Jun-An',
+ 'name' => 'Ma, Jun-An',
+ 'nameIdentifiers' => [{ 'nameIdentifier' => 'https://orcid.org/0000-0002-3902-6799',
+ 'nameIdentifierScheme' => 'ORCID', 'schemeUri' => 'https://orcid.org' }],
+ 'nameType' => 'Personal')
+ expect(subject.titles).to eq([{ 'title' => 'Silver-Catalyzed [3+3] Annulation of Glycine Imino Esters with Seyferth???Gilbert Reagent To Access Tetrahydro-1,2,4-triazinecarboxylate Esters' }])
+ expect(subject.dates).to eq([{ 'date' => '2020-04-08', 'dateType' => 'Issued' },
+ { 'date' => '2020-06-16T23:13:36Z', 'dateType' => 'Updated' }])
+ expect(subject.publication_year).to eq('2020')
+ expect(subject.publisher).to eq('Georg Thieme Verlag KG')
end
- it "journal article with" do
- input = "https://doi.org/10.1111/nph.14619"
- subject = Briard::Metadata.new(input: input)
+ it 'journal article with' do
+ input = 'https://doi.org/10.1111/nph.14619'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.1111/nph.14619")
- expect(subject.url).to eq("https://onlinelibrary.wiley.com/doi/10.1111/nph.14619")
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
+ expect(subject.id).to eq('https://doi.org/10.1111/nph.14619')
+ expect(subject.url).to eq('https://onlinelibrary.wiley.com/doi/10.1111/nph.14619')
+ expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
+ 'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
expect(subject.creators.length).to eq(3)
- expect(subject.creators.first).to eq("nameType"=>"Personal", "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0002-4156-3761", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}], "name"=>"Dissmeyer, Nico", "givenName"=>"Nico", "familyName"=>"Dissmeyer", "affiliation" => [{"name"=>"Independent Junior Research Group on Protein Recognition and Degradation; Leibniz Institute of Plant Biochemistry (IPB); Weinberg 3 Halle (Saale) D-06120 Germany"}, {"name"=>"ScienceCampus Halle - Plant-based Bioeconomy; Betty-Heimann-Strasse 3 Halle (Saale) D-06120 Germany"}])
- expect(subject.titles).to eq([{"title"=>"Life and death of proteins after protease cleavage: protein degradation by the N-end rule pathway"}])
- expect(subject.rights_list).to eq([{"rightsUri"=>"http://doi.wiley.com/10.1002/tdm_license_1.1"}, {"rightsUri"=>"http://onlinelibrary.wiley.com/termsAndConditions#vor"}])
- expect(subject.dates).to include({"date"=>"2018-05", "dateType"=>"Issued"})
- expect(subject.publication_year).to eq("2018")
- expect(subject.publisher).to eq("Wiley")
+ expect(subject.creators.first).to eq('nameType' => 'Personal',
+ 'nameIdentifiers' => [{ 'nameIdentifier' => 'https://orcid.org/0000-0002-4156-3761', 'nameIdentifierScheme' => 'ORCID', 'schemeUri' => 'https://orcid.org' }], 'name' => 'Dissmeyer, Nico', 'givenName' => 'Nico', 'familyName' => 'Dissmeyer', 'affiliation' => [{ 'name' => 'Independent Junior Research Group on Protein Recognition and Degradation; Leibniz Institute of Plant Biochemistry (IPB); Weinberg 3 Halle (Saale) D-06120 Germany' }, { 'name' => 'ScienceCampus Halle - Plant-based Bioeconomy; Betty-Heimann-Strasse 3 Halle (Saale) D-06120 Germany' }])
+ expect(subject.titles).to eq([{ 'title' => 'Life and death of proteins after protease cleavage: protein degradation by the N-end rule pathway' }])
+ expect(subject.rights_list).to eq([
+ { 'rightsUri' => 'http://doi.wiley.com/10.1002/tdm_license_1.1' }, { 'rightsUri' => 'http://onlinelibrary.wiley.com/termsAndConditions#vor' }
+ ])
+ expect(subject.dates).to include({ 'date' => '2018-05', 'dateType' => 'Issued' })
+ expect(subject.publication_year).to eq('2018')
+ expect(subject.publisher).to eq('Wiley')
expect(subject.related_identifiers.length).to eq(49)
- expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"0028-646X", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
- expect(subject.related_identifiers.last).to eq("relatedIdentifier"=>"10.1002/pmic.201400530", "relatedIdentifierType"=>"DOI", "relationType"=>"References")
- expect(subject.container).to eq("firstPage"=>"929", "identifier"=>"0028-646X", "identifierType"=>"ISSN", "issue"=>"3", "lastPage"=>"935", "title"=>"New Phytologist", "type"=>"Journal", "volume"=>"218")
- expect(subject.agency).to eq("crossref")
- expect(subject.date_registered).to eq("2018-08-03T11:45:49Z")
+ expect(subject.related_identifiers.first).to eq('relatedIdentifier' => '0028-646X',
+ 'relatedIdentifierType' => 'ISSN', 'relationType' => 'IsPartOf', 'resourceTypeGeneral' => 'Collection')
+ expect(subject.related_identifiers.last).to eq('relatedIdentifier' => '10.1002/pmic.201400530',
+ 'relatedIdentifierType' => 'DOI', 'relationType' => 'References')
+ expect(subject.container).to eq('firstPage' => '929', 'identifier' => '0028-646X',
+ 'identifierType' => 'ISSN', 'issue' => '3', 'lastPage' => '935', 'title' => 'New Phytologist', 'type' => 'Journal', 'volume' => '218')
+ expect(subject.agency).to eq('crossref')
+ expect(subject.date_registered).to eq('2018-08-03T11:45:49Z')
end
- it "author literal" do
- input = "https://doi.org/10.1038/ng.3834"
- subject = Briard::Metadata.new(input: input)
+ it 'author literal' do
+ input = 'https://doi.org/10.1038/ng.3834'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.1038/ng.3834")
- expect(subject.url).to eq("http://www.nature.com/articles/ng.3834")
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
+ expect(subject.id).to eq('https://doi.org/10.1038/ng.3834')
+ expect(subject.url).to eq('http://www.nature.com/articles/ng.3834')
+ expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
+ 'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
expect(subject.creators.length).to eq(14)
- expect(subject.creators.last).to eq("name"=>"GTEx Consortium", "nameType"=>"Organizational")
- expect(subject.titles).to eq([{"title"=>"The impact of structural variation on human gene expression"}])
- expect(subject.dates).to include({"date"=>"2017-04-03", "dateType"=>"Issued"})
- expect(subject.publication_year).to eq("2017")
- expect(subject.publisher).to eq("Springer Science and Business Media LLC")
- expect(subject.agency).to eq("crossref")
- expect(subject.date_registered).to eq("2019-11-02T09:30:06Z")
+ expect(subject.creators.last).to eq('name' => 'GTEx Consortium',
+ 'nameType' => 'Organizational')
+ expect(subject.titles).to eq([{ 'title' => 'The impact of structural variation on human gene expression' }])
+ expect(subject.dates).to include({ 'date' => '2017-04-03', 'dateType' => 'Issued' })
+ expect(subject.publication_year).to eq('2017')
+ expect(subject.publisher).to eq('Springer Science and Business Media LLC')
+ expect(subject.agency).to eq('crossref')
+ expect(subject.date_registered).to eq('2019-11-02T09:30:06Z')
end
- it "affiliation is space" do
- input = "https://doi.org/10.1177/0042098011428175"
- subject = Briard::Metadata.new(input: input)
+ it 'affiliation is space' do
+ input = 'https://doi.org/10.1177/0042098011428175'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.1177/0042098011428175")
- expect(subject.url).to eq("http://journals.sagepub.com/doi/10.1177/0042098011428175")
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
+ expect(subject.id).to eq('https://doi.org/10.1177/0042098011428175')
+ expect(subject.url).to eq('http://journals.sagepub.com/doi/10.1177/0042098011428175')
+ expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
+ 'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
expect(subject.creators.length).to eq(1)
- expect(subject.creators.first).to eq("affiliation"=>[{"name"=>"??"}], "familyName"=>"Petrovici", "givenName"=>"Norbert", "name"=>"Petrovici, Norbert", "nameType"=>"Personal")
- expect(subject.titles).to eq([{"title"=>"Workers and the City: Rethinking the Geographies of Power in Post-socialist Urbanisation"}])
- expect(subject.dates).to include({"date"=>"2011-12-22", "dateType"=>"Issued"})
- expect(subject.publication_year).to eq("2011")
- expect(subject.publisher).to eq("SAGE Publications")
- expect(subject.agency).to eq("crossref")
- expect(subject.date_registered).to eq("2021-05-16T02:02:38Z")
+ expect(subject.creators.first).to eq('affiliation' => [{ 'name' => '??' }],
+ 'familyName' => 'Petrovici', 'givenName' => 'Norbert', 'name' => 'Petrovici, Norbert', 'nameType' => 'Personal')
+ expect(subject.titles).to eq([{ 'title' => 'Workers and the City: Rethinking the Geographies of Power in Post-socialist Urbanisation' }])
+ expect(subject.dates).to include({ 'date' => '2011-12-22', 'dateType' => 'Issued' })
+ expect(subject.publication_year).to eq('2011')
+ expect(subject.publisher).to eq('SAGE Publications')
+ expect(subject.agency).to eq('crossref')
+ expect(subject.date_registered).to eq('2021-05-16T02:02:38Z')
end
- it "multiple issn" do
- input = "https://doi.org/10.1007/978-3-642-34922-5_19"
- subject = Briard::Metadata.new(input: input)
+ it 'multiple issn' do
+ input = 'https://doi.org/10.1007/978-3-642-34922-5_19'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.1007/978-3-642-34922-5_19")
- expect(subject.url).to eq("http://link.springer.com/10.1007/978-3-642-34922-5_19")
- expect(subject.types).to eq("bibtex"=>"inbook", "citeproc"=>"chapter", "resourceType"=>"BookChapter", "resourceTypeGeneral"=>"BookChapter", "ris"=>"CHAP", "schemaOrg"=>"Chapter")
+ expect(subject.id).to eq('https://doi.org/10.1007/978-3-642-34922-5_19')
+ expect(subject.url).to eq('http://link.springer.com/10.1007/978-3-642-34922-5_19')
+ expect(subject.types).to eq('bibtex' => 'inbook', 'citeproc' => 'chapter',
+ 'resourceType' => 'BookChapter', 'resourceTypeGeneral' => 'BookChapter', 'ris' => 'CHAP', 'schemaOrg' => 'Chapter')
expect(subject.creators.length).to eq(3)
- expect(subject.creators.first).to eq("familyName"=>"Razib", "givenName"=>"Ali", "name"=>"Razib, Ali", "nameType"=>"Personal")
- expect(subject.titles).to eq([{"title"=>"Log-Domain Arithmetic for High-Speed Fuzzy Control on a Field-Programmable Gate Array"}])
- expect(subject.dates).to include({"date"=>"2013", "dateType"=>"Issued"})
- expect(subject.publication_year).to eq("2013")
- expect(subject.publisher).to eq("Springer Science and Business Media LLC")
- expect(subject.container).to eq("identifier"=>"1860-0808", "identifierType"=>"ISSN", "title"=>"Studies in Fuzziness and Soft Computing", "type"=>"Book Series")
- expect(subject.agency).to eq("crossref")
- expect(subject.date_registered).to eq("2012-10-31T16:15:44Z")
+ expect(subject.creators.first).to eq('familyName' => 'Razib', 'givenName' => 'Ali',
+ 'name' => 'Razib, Ali', 'nameType' => 'Personal')
+ expect(subject.titles).to eq([{ 'title' => 'Log-Domain Arithmetic for High-Speed Fuzzy Control on a Field-Programmable Gate Array' }])
+ expect(subject.dates).to include({ 'date' => '2013', 'dateType' => 'Issued' })
+ expect(subject.publication_year).to eq('2013')
+ expect(subject.publisher).to eq('Springer Science and Business Media LLC')
+ expect(subject.container).to eq('identifier' => '1860-0808', 'identifierType' => 'ISSN',
+ 'title' => 'Studies in Fuzziness and Soft Computing', 'type' => 'Book Series')
+ expect(subject.agency).to eq('crossref')
+ expect(subject.date_registered).to eq('2012-10-31T16:15:44Z')
end
- it "article id as page number" do
- input = "https://doi.org/10.1103/physrevlett.120.117701"
- subject = Briard::Metadata.new(input: input)
+ it 'article id as page number' do
+ input = 'https://doi.org/10.1103/physrevlett.120.117701'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.1103/physrevlett.120.117701")
- expect(subject.url).to eq("https://link.aps.org/doi/10.1103/PhysRevLett.120.117701")
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"JournalArticle", "resourceTypeGeneral"=>"JournalArticle", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
+ expect(subject.id).to eq('https://doi.org/10.1103/physrevlett.120.117701')
+ expect(subject.url).to eq('https://link.aps.org/doi/10.1103/PhysRevLett.120.117701')
+ expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
+ 'resourceType' => 'JournalArticle', 'resourceTypeGeneral' => 'JournalArticle', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
expect(subject.creators.length).to eq(5)
- expect(subject.creators.first).to eq("familyName"=>"Marrazzo", "givenName"=>"Antimo", "name"=>"Marrazzo, Antimo", "nameType"=>"Personal")
- expect(subject.titles).to eq([{"title"=>"Prediction of a Large-Gap and Switchable Kane-Mele Quantum Spin Hall Insulator"}])
- expect(subject.dates).to include({"date"=>"2018-03-13", "dateType"=>"Issued"})
- expect(subject.publication_year).to eq("2018")
- expect(subject.publisher).to eq("American Physical Society (APS)")
- expect(subject.container).to eq("firstPage" => "117701", "identifier"=>"1079-7114", "identifierType"=>"ISSN", "issue"=>"11", "title"=>"Physical Review Letters", "type"=>"Journal", "volume"=>"120")
- expect(subject.agency).to eq("crossref")
- expect(subject.date_registered).to eq("2018-03-13T15:18:48Z")
+ expect(subject.creators.first).to eq('familyName' => 'Marrazzo', 'givenName' => 'Antimo',
+ 'name' => 'Marrazzo, Antimo', 'nameType' => 'Personal')
+ expect(subject.titles).to eq([{ 'title' => 'Prediction of a Large-Gap and Switchable Kane-Mele Quantum Spin Hall Insulator' }])
+ expect(subject.dates).to include({ 'date' => '2018-03-13', 'dateType' => 'Issued' })
+ expect(subject.publication_year).to eq('2018')
+ expect(subject.publisher).to eq('American Physical Society (APS)')
+ expect(subject.container).to eq('firstPage' => '117701', 'identifier' => '1079-7114',
+ 'identifierType' => 'ISSN', 'issue' => '11', 'title' => 'Physical Review Letters', 'type' => 'Journal', 'volume' => '120')
+ expect(subject.agency).to eq('crossref')
+ expect(subject.date_registered).to eq('2018-03-13T15:18:48Z')
end
- it "posted content copernicus" do
- input = "https://doi.org/10.5194/CP-2020-95"
- subject = Briard::Metadata.new(input: input)
+ it 'posted content copernicus' do
+ input = 'https://doi.org/10.5194/CP-2020-95'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.url).to eq("https://cp.copernicus.org/preprints/cp-2020-95/cp-2020-95.pdf")
- expect(subject.types).to eq("bibtex"=>"article", "citeproc"=>"article-journal", "resourceType"=>"PostedContent", "resourceTypeGeneral"=>"Preprint", "ris"=>"JOUR", "schemaOrg"=>"ScholarlyArticle")
+ expect(subject.url).to eq('https://cp.copernicus.org/preprints/cp-2020-95/cp-2020-95.pdf')
+ expect(subject.types).to eq('bibtex' => 'article', 'citeproc' => 'article-journal',
+ 'resourceType' => 'PostedContent', 'resourceTypeGeneral' => 'Preprint', 'ris' => 'JOUR', 'schemaOrg' => 'ScholarlyArticle')
expect(subject.creators.count).to eq(6)
- expect(subject.creators.first).to eq("nameType" => "Personal", "familyName" => "Shao",
- "givenName" => "Jun",
- "name" => "Shao, Jun",
- "nameIdentifiers" => [{"nameIdentifier"=>"https://orcid.org/0000-0001-6130-6474", "nameIdentifierScheme"=>"ORCID", "schemeUri"=>"https://orcid.org"}])
- expect(subject.titles).to eq([{"title"=>"The Atmospheric Bridge Communicated the ??<sup>13</sup>C Decline during the Last Deglaciation to the Global Upper Ocean"}])
- expect(subject.id).to eq("https://doi.org/10.5194/cp-2020-95")
- expect(subject.identifiers).to be_empty
- expect(subject.descriptions.first["description"]).to start_with("Abstract. During the early last glacial termination")
- expect(subject.dates).to include({"date"=>"2020-07-28", "dateType"=>"Issued"})
- expect(subject.publication_year).to eq("2020")
- expect(subject.publisher).to eq("Copernicus GmbH")
- expect(subject.agency).to eq("crossref")
+ expect(subject.creators.first).to eq('nameType' => 'Personal', 'familyName' => 'Shao',
+ 'givenName' => 'Jun',
+ 'name' => 'Shao, Jun',
+ 'nameIdentifiers' => [{ 'nameIdentifier' => 'https://orcid.org/0000-0001-6130-6474', 'nameIdentifierScheme' => 'ORCID', 'schemeUri' => 'https://orcid.org' }])
+ expect(subject.titles).to eq([{ 'title' => 'The Atmospheric Bridge Communicated the ??<sup>13</sup>C Decline during the Last Deglaciation to the Global Upper Ocean' }])
+ expect(subject.id).to eq('https://doi.org/10.5194/cp-2020-95')
+ expect(subject.identifiers.empty?).to be(true)
+ expect(subject.descriptions.first['description']).to start_with('Abstract. During the early last glacial termination')
+ expect(subject.dates).to include({ 'date' => '2020-07-28', 'dateType' => 'Issued' })
+ expect(subject.publication_year).to eq('2020')
+ expect(subject.publisher).to eq('Copernicus GmbH')
+ expect(subject.agency).to eq('crossref')
end
- it "book oup" do
- input = "10.1093/oxfordhb/9780198746140.013.5"
- subject = Briard::Metadata.new(input: input)
+ it 'book oup' do
+ input = '10.1093/oxfordhb/9780198746140.013.5'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.url).to eq("https://academic.oup.com/edited-volume/28081/chapter/212116415")
- expect(subject.types).to eq("bibtex"=>"book", "citeproc"=>"book", "resourceType"=>"Book", "resourceTypeGeneral"=>"Book", "ris"=>"BOOK", "schemaOrg"=>"Book")
+ expect(subject.url).to eq('https://academic.oup.com/edited-volume/28081/chapter/212116415')
+ expect(subject.types).to eq('bibtex' => 'book', 'citeproc' => 'book', 'resourceType' => 'Book',
+ 'resourceTypeGeneral' => 'Book', 'ris' => 'BOOK', 'schemaOrg' => 'Book')
expect(subject.creators.count).to eq(1)
- expect(subject.creators.first).to eq("familyName"=>"Clayton", "givenName"=>"Barbra R.", "name"=>"Clayton, Barbra R.", "nameType"=>"Personal")
+ expect(subject.creators.first).to eq('familyName' => 'Clayton', 'givenName' => 'Barbra R.',
+ 'name' => 'Clayton, Barbra R.', 'nameType' => 'Personal')
expect(subject.contributors.count).to eq(2)
- expect(subject.contributors.first).to eq("contributorType"=>"Editor", "familyName"=>"Cozort", "givenName"=>"Daniel", "name"=>"Cozort, Daniel", "nameType"=>"Personal")
- expect(subject.titles).to eq([{"title"=>"The Changing Way of the Bodhisattva"}])
- expect(subject.id).to eq("https://doi.org/10.1093/oxfordhb/9780198746140.013.5")
- expect(subject.identifiers).to be_empty
- expect(subject.descriptions.first["description"]).to start_with("This chapter explores the nature of the connections")
- expect(subject.dates).to include({"date"=>"2018-04-05", "dateType"=>"Issued"})
- expect(subject.publication_year).to eq("2018")
- expect(subject.publisher).to eq("Oxford University Press (OUP)")
- expect(subject.agency).to eq("crossref")
+ expect(subject.contributors.first).to eq('contributorType' => 'Editor', 'familyName' => 'Cozort',
+ 'givenName' => 'Daniel', 'name' => 'Cozort, Daniel', 'nameType' => 'Personal')
+ expect(subject.titles).to eq([{ 'title' => 'The Changing Way of the Bodhisattva' }])
+ expect(subject.id).to eq('https://doi.org/10.1093/oxfordhb/9780198746140.013.5')
+ expect(subject.identifiers.empty?).to be(true)
+ expect(subject.descriptions.first['description']).to start_with('This chapter explores the nature of the connections')
+ expect(subject.dates).to include({ 'date' => '2018-04-05', 'dateType' => 'Issued' })
+ expect(subject.publication_year).to eq('2018')
+ expect(subject.publisher).to eq('Oxford University Press (OUP)')
+ expect(subject.agency).to eq('crossref')
end
- it "report osti" do
- input = "10.2172/972169"
- subject = Briard::Metadata.new(input: input)
+ it 'report osti' do
+ input = '10.2172/972169'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.url).to eq("http://www.osti.gov/servlets/purl/972169-1QXROM/")
- expect(subject.types).to eq("bibtex"=>"techreport", "citeproc"=>"report", "resourceType"=>"Report", "resourceTypeGeneral"=>"Report", "ris"=>"RPRT", "schemaOrg"=>"Report")
+ expect(subject.url).to eq('http://www.osti.gov/servlets/purl/972169-1QXROM/')
+ expect(subject.types).to eq('bibtex' => 'techreport', 'citeproc' => 'report',
+ 'resourceType' => 'Report', 'resourceTypeGeneral' => 'Report', 'ris' => 'RPRT', 'schemaOrg' => 'Report')
expect(subject.creators.count).to eq(4)
- expect(subject.creators.first).to eq("familyName"=>"Denholm", "givenName"=>"P.", "name"=>"Denholm, P.", "nameType"=>"Personal")
+ expect(subject.creators.first).to eq('familyName' => 'Denholm', 'givenName' => 'P.',
+ 'name' => 'Denholm, P.', 'nameType' => 'Personal')
expect(subject.contributors.count).to eq(0)
- expect(subject.titles).to eq([{"title"=>"Role of Energy Storage with Renewable Electricity Generation"}])
- expect(subject.id).to eq("https://doi.org/10.2172/972169")
- expect(subject.identifiers).to eq( [{"identifier"=>"NREL/TP-6A2-47187", "identifierType"=>"report-number"}, {"identifier"=>"972169", "identifierType"=>"sequence-number"}])
- expect(subject.descriptions).to be_empty
- expect(subject.dates).to include({"date"=>"2010-01-01", "dateType"=>"Issued"})
- expect(subject.publication_year).to eq("2010")
- expect(subject.publisher).to eq("Office of Scientific and Technical Information (OSTI)")
- expect(subject.agency).to eq("crossref")
+ expect(subject.titles).to eq([{ 'title' => 'Role of Energy Storage with Renewable Electricity Generation' }])
+ expect(subject.id).to eq('https://doi.org/10.2172/972169')
+ expect(subject.identifiers).to eq([
+ { 'identifier' => 'NREL/TP-6A2-47187',
+ 'identifierType' => 'report-number' }, { 'identifier' => '972169', 'identifierType' => 'sequence-number' }
+ ])
+ expect(subject.descriptions.empty?).to be(true)
+ expect(subject.dates).to include({ 'date' => '2010-01-01', 'dateType' => 'Issued' })
+ expect(subject.publication_year).to eq('2010')
+ expect(subject.publisher).to eq('Office of Scientific and Technical Information (OSTI)')
+ expect(subject.agency).to eq('crossref')
end
- it "journal issue" do
- input = "https://doi.org/10.6002/ect.2015.0371"
- subject = Briard::Metadata.new(input: input)
+ it 'journal issue' do
+ input = 'https://doi.org/10.6002/ect.2015.0371'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be true
- expect(subject.id).to eq("https://doi.org/10.6002/ect.2015.0371")
- expect(subject.url).to eq("http://ectrx.org/forms/ectrxcontentshow.php?doi_id=10.6002/ect.2015.0371")
- expect(subject.types).to eq("bibtex"=>"misc", "citeproc"=>"article-journal", "resourceType"=>"JournalIssue", "resourceTypeGeneral"=>"Text", "ris"=>"JOUR", "schemaOrg"=>"PublicationIssue")
- expect(subject.creators).to eq([{"name"=>":(unav)", "nameType"=>"Organizational"}])
- expect(subject.titles).to eq([{"title"=>":(unav)"}])
- expect(subject.dates).to eq([{"date"=>"2018-10", "dateType"=>"Issued"}, {"date"=>"2018-10-03T12:09:12Z", "dateType"=>"Updated"}])
- expect(subject.publication_year).to eq("2018")
- expect(subject.publisher).to eq("Baskent University")
+ expect(subject.id).to eq('https://doi.org/10.6002/ect.2015.0371')
+ expect(subject.url).to eq('http://ectrx.org/forms/ectrxcontentshow.php?doi_id=10.6002/ect.2015.0371')
+ expect(subject.types).to eq('bibtex' => 'misc', 'citeproc' => 'article-journal',
+ 'resourceType' => 'JournalIssue', 'resourceTypeGeneral' => 'Text', 'ris' => 'JOUR', 'schemaOrg' => 'PublicationIssue')
+ expect(subject.creators).to eq([{ 'name' => ':(unav)', 'nameType' => 'Organizational' }])
+ expect(subject.titles).to eq([{ 'title' => ':(unav)' }])
+ expect(subject.dates).to eq([{ 'date' => '2018-10', 'dateType' => 'Issued' },
+ { 'date' => '2018-10-03T12:09:12Z', 'dateType' => 'Updated' }])
+ expect(subject.publication_year).to eq('2018')
+ expect(subject.publisher).to eq('Baskent University')
expect(subject.related_identifiers.length).to eq(2)
- expect(subject.related_identifiers.first).to eq("relatedIdentifier"=>"2146-8427", "relatedIdentifierType"=>"ISSN", "relationType"=>"IsPartOf", "resourceTypeGeneral"=>"Collection")
- expect(subject.container).to eq("identifier"=>"2146-8427", "identifierType"=>"ISSN", "issue"=>"5", "title"=>"Experimental and Clinical Transplantation", "type"=>"Journal", "volume"=>"16")
- expect(subject.agency).to eq("crossref")
+ expect(subject.related_identifiers.first).to eq('relatedIdentifier' => '2146-8427',
+ 'relatedIdentifierType' => 'ISSN', 'relationType' => 'IsPartOf', 'resourceTypeGeneral' => 'Collection')
+ expect(subject.container).to eq('identifier' => '2146-8427', 'identifierType' => 'ISSN',
+ 'issue' => '5', 'title' => 'Experimental and Clinical Transplantation', 'type' => 'Journal', 'volume' => '16')
+ expect(subject.agency).to eq('crossref')
end
- it "not found error" do
- input = "https://doi.org/10.7554/elife.01567x"
- subject = Briard::Metadata.new(input: input)
+ it 'not found error' do
+ input = 'https://doi.org/10.7554/elife.01567x'
+ subject = described_class.new(input: input)
expect(subject.valid?).to be false
- expect(subject.id).to eq("https://doi.org/10.7554/elife.01567x")
- expect(subject.doi).to eq("10.7554/elife.01567x")
- expect(subject.agency).to eq("crossref")
- expect(subject.state).to eq("not_found")
+ expect(subject.id).to eq('https://doi.org/10.7554/elife.01567x')
+ expect(subject.doi).to eq('10.7554/elife.01567x')
+ expect(subject.agency).to eq('crossref')
+ expect(subject.state).to eq('not_found')
end
end
end