bolognese 0.9.23 → 0.9.24

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 39139e9cb579453f790e88d71de254a6969534d1
4
- data.tar.gz: 836bba1f3003d765e4baa83b9cabcdb93f8ca2c2
3
+ metadata.gz: 6fb3aac15f0e996209a730e15e583600173ad156
4
+ data.tar.gz: ff148a44fe2598ee441d0b34e204b5a58c7b274e
5
5
  SHA512:
6
- metadata.gz: 533ae58073e7fa4c4eeac0adc8f1fb55ef6268a58287baf61964c9261e5bbae614b0d66d21416f552f20dfa0b8c991a61f8757e8b75790ef168b8028217065f7
7
- data.tar.gz: d3cb23de6c1360393ecd8b4e0a3e9fd27a3337fc08323f91a0a265a7aafc489bda2befc8dbf433a5e5d42e7e9409053c9418b8031cfb379b140a1bee87d4ebfb
6
+ metadata.gz: b899a7ad3d6149292b4408a69fa044e475dcffcd0371b3cb73fe09365d7b9d1cb420b0062f43ace11d18ebb626494357ee3b45d6a987522eb0a9e603aff6d8b5
7
+ data.tar.gz: e9f76822078b4689bd75aeaf6e989a0f83d35197e25e5e4d88c97ecadcadf9f1df3a1c531bdad306f97edf69e3237e142143fee71d13d198850b12f593b4d9be
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bolognese (0.9.23)
4
+ bolognese (0.9.24)
5
5
  activesupport (>= 4.2.5, < 6)
6
6
  benchmark_methods (~> 0.7)
7
7
  bibtex-ruby (~> 4.1)
@@ -272,7 +272,8 @@ module Bolognese
272
272
  end
273
273
 
274
274
  def validate_orcid(orcid)
275
- Array(/\A(?:http:\/\/orcid\.org\/)?(\d{4}-\d{4}-\d{4}-\d{3}[0-9X]+)\z/.match(orcid)).last
275
+ orcid = Array(/\A(?:http:\/\/orcid\.org\/)?(\d{4}[[:space:]-]\d{4}[[:space:]-]\d{4}[[:space:]-]\d{3}[0-9X]+)\z/.match(orcid)).last
276
+ orcid.gsub(/[[:space:]]/, "-") if orcid.present?
276
277
  end
277
278
 
278
279
  def validate_url(str)
@@ -1,3 +1,3 @@
1
1
  module Bolognese
2
- VERSION = "0.9.23"
2
+ VERSION = "0.9.24"
3
3
  end
@@ -0,0 +1,94 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.1101/097196&noredirect=true&pid=tech@datacite.org
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Maremma - https://github.com/datacite/maremma
12
+ Accept:
13
+ - text/xml
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: ''
18
+ headers:
19
+ Server:
20
+ - Apache-Coyote/1.1
21
+ Crossref-Deployment-Name:
22
+ - qs4-1
23
+ Content-Type:
24
+ - text/xml;charset=UTF-8
25
+ Content-Language:
26
+ - en-US
27
+ Date:
28
+ - Tue, 20 Jun 2017 06:10:06 GMT
29
+ Connection:
30
+ - close
31
+ body:
32
+ encoding: UTF-8
33
+ string: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doi_records>\r\n <doi_record
34
+ owner=\"10.1101\" timestamp=\"2016-12-29 01:10:20\">\r\n <crossref>\r\n
35
+ \ <posted_content type=\"preprint\" language=\"en\" metadata_distribution_opts=\"any\">\r\n
36
+ \ <group_title>Scientific Communication and Education</group_title>\r\n
37
+ \ <contributors>\r\n <person_name contributor_role=\"author\"
38
+ sequence=\"first\">\r\n <given_name>Martin</given_name>\r\n <surname>Fenner</surname>\r\n
39
+ \ <ORCID>http://orcid.org/0000-0003-1419-2405</ORCID>\r\n </person_name>\r\n
40
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
41
+ \ <given_name>Merc?</given_name>\r\n <surname>Crosas</surname>\r\n
42
+ \ <ORCID>http://orcid.org/0000-0003-1304-1939</ORCID>\r\n </person_name>\r\n
43
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
44
+ \ <given_name>Jeffrey</given_name>\r\n <surname>Grethe</surname>\r\n
45
+ \ <ORCID>http://orcid.org/0000-0001-5212-7052</ORCID>\r\n </person_name>\r\n
46
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
47
+ \ <given_name>David</given_name>\r\n <surname>Kennedy</surname>\r\n
48
+ \ <ORCID>http://orcid.org/0000-0002-9377-0797</ORCID>\r\n </person_name>\r\n
49
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
50
+ \ <given_name>Henning</given_name>\r\n <surname>Hermjakob</surname>\r\n
51
+ \ <ORCID>http://orcid.org/0000-0001-8479-0262</ORCID>\r\n </person_name>\r\n
52
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
53
+ \ <given_name>Philippe</given_name>\r\n <surname>Rocca-Serra</surname>\r\n
54
+ \ <ORCID>http://orcid.org/0000-0001-9853-5668</ORCID>\r\n </person_name>\r\n
55
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
56
+ \ <given_name>Robin</given_name>\r\n <surname>Berjon</surname>\r\n
57
+ \ <ORCID>http://orcid.org/0000-0002-1731-5346</ORCID>\r\n </person_name>\r\n
58
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
59
+ \ <given_name>Sebastian</given_name>\r\n <surname>Karcher</surname>\r\n
60
+ \ <ORCID>http://orcid.org/0000-0001-8249-7388</ORCID>\r\n </person_name>\r\n
61
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
62
+ \ <given_name>Maryann</given_name>\r\n <surname>Martone</surname>\r\n
63
+ \ <ORCID>http://orcid.org/0000-0002-8406-3871</ORCID>\r\n </person_name>\r\n
64
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
65
+ \ <given_name>Timothy</given_name>\r\n <surname>Clark</surname>\r\n
66
+ \ <ORCID>http://orcid.org/0000-0003-4060-7360</ORCID>\r\n </person_name>\r\n
67
+ \ </contributors>\r\n <titles>\r\n <title>A Data Citation
68
+ Roadmap for Scholarly Data Repositories</title>\r\n </titles>\r\n <posted_date>\r\n
69
+ \ <month>12</month>\r\n <day>28</day>\r\n <year>2016</year>\r\n
70
+ \ </posted_date>\r\n <acceptance_date>\r\n <month>12</month>\r\n
71
+ \ <day>28</day>\r\n <year>2016</year>\r\n </acceptance_date>\r\n
72
+ \ <institution>\r\n <institution_name>bioRxiv</institution_name>\r\n
73
+ \ </institution>\r\n <item_number item_number_type=\"pisa\">biorxiv;097196v1</item_number>\r\n
74
+ \ <abstract>\r\n <p>This article presents a practical roadmap
75
+ for scholarly data repositories to implement data citation in accordance with
76
+ the Joint Declaration of Data Citation Principles (Data Citation Synthesis
77
+ Group, 2014), a synopsis and harmonization of the recommendations of major
78
+ science policy bodies. The roadmap was developed by the Repositories Early
79
+ Adopters Expert Group, part of the Data Citation Implementation Pilot (DCIP)
80
+ project (FORCE11, 2015), an initiative of FORCE11.org and the NIH BioCADDIE
81
+ (2016) program. The roadmap makes 11 specific recommendations, grouped into
82
+ three phases of implementation: a) required steps needed to support the Joint
83
+ Declaration of Data Citation Principles, b) recommended steps that facilitate
84
+ article/data publication workflows, and c) optional steps that further improve
85
+ data citation support provided by data repositories.</p>\r\n </abstract>\r\n
86
+ \ <doi_data>\r\n <doi>10.1101/097196</doi>\r\n <timestamp>2016122822100649000</timestamp>\r\n
87
+ \ <resource>http://biorxiv.org/lookup/doi/10.1101/097196</resource>\r\n
88
+ \ <collection property=\"crawler-based\">\r\n <item crawler=\"iParadigms\">\r\n
89
+ \ <resource>https://syndication.highwire.org/content/doi/10.1101/097196</resource>\r\n
90
+ \ </item>\r\n </collection>\r\n </doi_data>\r\n
91
+ \ </posted_content>\r\n </crossref>\r\n </doi_record>\r\n</doi_records>"
92
+ http_version:
93
+ recorded_at: Tue, 20 Jun 2017 05:06:47 GMT
94
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,144 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.1101/097196&noredirect=true&pid=tech@datacite.org
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Maremma - https://github.com/datacite/maremma
12
+ Accept:
13
+ - text/xml
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: ''
18
+ headers:
19
+ Server:
20
+ - Apache-Coyote/1.1
21
+ Crossref-Deployment-Name:
22
+ - cr7-1
23
+ Content-Type:
24
+ - text/xml;charset=UTF-8
25
+ Content-Language:
26
+ - en-US
27
+ Date:
28
+ - Tue, 20 Jun 2017 05:06:47 GMT
29
+ Connection:
30
+ - close
31
+ body:
32
+ encoding: ASCII-8BIT
33
+ string: !binary |-
34
+ PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPGRvaV9y
35
+ ZWNvcmRzPg0KICA8ZG9pX3JlY29yZCBvd25lcj0iMTAuMTEwMSIgdGltZXN0
36
+ YW1wPSIyMDE2LTEyLTI5IDAxOjEwOjIwIj4NCiAgICA8Y3Jvc3NyZWY+DQog
37
+ ICAgICA8cG9zdGVkX2NvbnRlbnQgdHlwZT0icHJlcHJpbnQiIGxhbmd1YWdl
38
+ PSJlbiIgbWV0YWRhdGFfZGlzdHJpYnV0aW9uX29wdHM9ImFueSI+DQogICAg
39
+ ICAgIDxncm91cF90aXRsZT5TY2llbnRpZmljIENvbW11bmljYXRpb24gYW5k
40
+ IEVkdWNhdGlvbjwvZ3JvdXBfdGl0bGU+DQogICAgICAgIDxjb250cmlidXRv
41
+ cnM+DQogICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9
42
+ ImF1dGhvciIgc2VxdWVuY2U9ImZpcnN0Ij4NCiAgICAgICAgICAgIDxnaXZl
43
+ bl9uYW1lPk1hcnRpbjwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgIDxzdXJu
44
+ YW1lPkZlbm5lcjwvc3VybmFtZT4NCiAgICAgICAgICAgIDxPUkNJRD5odHRw
45
+ Oi8vb3JjaWQub3JnLzAwMDAtMDAwMy0xNDE5LTI0MDU8L09SQ0lEPg0KICAg
46
+ ICAgICAgIDwvcGVyc29uX25hbWU+DQogICAgICAgICAgPHBlcnNvbl9uYW1l
47
+ IGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhvciIgc2VxdWVuY2U9ImFkZGl0aW9u
48
+ YWwiPg0KICAgICAgICAgICAgPGdpdmVuX25hbWU+TWVyY8OoPC9naXZlbl9u
49
+ YW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+Q3Jvc2FzPC9zdXJuYW1lPg0K
50
+ ICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAz
51
+ LTEzMDQtMTkzOTwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4N
52
+ CiAgICAgICAgICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0
53
+ aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2
54
+ ZW5fbmFtZT5KZWZmcmV5PC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1
55
+ cm5hbWU+R3JldGhlPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0
56
+ dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAxLTUyMTItNzA1MjwvT1JDSUQ+DQog
57
+ ICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25h
58
+ bWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRp
59
+ b25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5EYXZpZDwvZ2l2ZW5f
60
+ bmFtZT4NCiAgICAgICAgICAgIDxzdXJuYW1lPktlbm5lZHk8L3N1cm5hbWU+
61
+ DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAw
62
+ MDItOTM3Ny0wNzk3PC9PUkNJRD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1l
63
+ Pg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJh
64
+ dXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxn
65
+ aXZlbl9uYW1lPkhlbm5pbmc8L2dpdmVuX25hbWU+DQogICAgICAgICAgICA8
66
+ c3VybmFtZT5IZXJtamFrb2I8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JD
67
+ SUQ+aHR0cDovL29yY2lkLm9yZy8wMDAwLTAwMDEtODQ3OS0wMjYyPC9PUkNJ
68
+ RD4NCiAgICAgICAgICA8L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJz
69
+ b25fbmFtZSBjb250cmlidXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJh
70
+ ZGRpdGlvbmFsIj4NCiAgICAgICAgICAgIDxnaXZlbl9uYW1lPlBoaWxpcHBl
71
+ PC9naXZlbl9uYW1lPg0KICAgICAgICAgICAgPHN1cm5hbWU+Um9jY2EtU2Vy
72
+ cmE8L3N1cm5hbWU+DQogICAgICAgICAgICA8T1JDSUQ+aHR0cDovL29yY2lk
73
+ Lm9yZy8wMDAwLTAwMDEtOTg1My01NjY4PC9PUkNJRD4NCiAgICAgICAgICA8
74
+ L3BlcnNvbl9uYW1lPg0KICAgICAgICAgIDxwZXJzb25fbmFtZSBjb250cmli
75
+ dXRvcl9yb2xlPSJhdXRob3IiIHNlcXVlbmNlPSJhZGRpdGlvbmFsIj4NCiAg
76
+ ICAgICAgICAgIDxnaXZlbl9uYW1lPlJvYmluPC9naXZlbl9uYW1lPg0KICAg
77
+ ICAgICAgICAgPHN1cm5hbWU+QmVyam9uPC9zdXJuYW1lPg0KICAgICAgICAg
78
+ ICAgPE9SQ0lEPmh0dHA6Ly9vcmNpZC5vcmcvMDAwMC0wMDAyLTE3MzEtNTM0
79
+ NjwvT1JDSUQ+DQogICAgICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAg
80
+ ICA8cGVyc29uX25hbWUgY29udHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1
81
+ ZW5jZT0iYWRkaXRpb25hbCI+DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5T
82
+ ZWJhc3RpYW48L2dpdmVuX25hbWU+DQogICAgICAgICAgICA8c3VybmFtZT5L
83
+ YXJjaGVyPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6Ly9v
84
+ cmNpZC5vcmcvMDAwMC0wMDAxLTgyNDktNzM4ODwvT1JDSUQ+DQogICAgICAg
85
+ ICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgICA8cGVyc29uX25hbWUgY29u
86
+ dHJpYnV0b3Jfcm9sZT0iYXV0aG9yIiBzZXF1ZW5jZT0iYWRkaXRpb25hbCI+
87
+ DQogICAgICAgICAgICA8Z2l2ZW5fbmFtZT5NYXJ5YW5uPC9naXZlbl9uYW1l
88
+ Pg0KICAgICAgICAgICAgPHN1cm5hbWU+TWFydG9uZTwvc3VybmFtZT4NCiAg
89
+ ICAgICAgICAgIDxPUkNJRD5odHRwOi8vb3JjaWQub3JnLzAwMDAtMDAwMi04
90
+ NDA2LTM4NzE8L09SQ0lEPg0KICAgICAgICAgIDwvcGVyc29uX25hbWU+DQog
91
+ ICAgICAgICAgPHBlcnNvbl9uYW1lIGNvbnRyaWJ1dG9yX3JvbGU9ImF1dGhv
92
+ ciIgc2VxdWVuY2U9ImFkZGl0aW9uYWwiPg0KICAgICAgICAgICAgPGdpdmVu
93
+ X25hbWU+VGltb3RoeTwvZ2l2ZW5fbmFtZT4NCiAgICAgICAgICAgIDxzdXJu
94
+ YW1lPkNsYXJrPC9zdXJuYW1lPg0KICAgICAgICAgICAgPE9SQ0lEPmh0dHA6
95
+ Ly9vcmNpZC5vcmcvMDAwMC0wMDAzLTQwNjAtNzM2MDwvT1JDSUQ+DQogICAg
96
+ ICAgICAgPC9wZXJzb25fbmFtZT4NCiAgICAgICAgPC9jb250cmlidXRvcnM+
97
+ DQogICAgICAgIDx0aXRsZXM+DQogICAgICAgICAgPHRpdGxlPkEgRGF0YSBD
98
+ aXRhdGlvbiBSb2FkbWFwIGZvciBTY2hvbGFybHkgRGF0YSBSZXBvc2l0b3Jp
99
+ ZXM8L3RpdGxlPg0KICAgICAgICA8L3RpdGxlcz4NCiAgICAgICAgPHBvc3Rl
100
+ ZF9kYXRlPg0KICAgICAgICAgIDxtb250aD4xMjwvbW9udGg+DQogICAgICAg
101
+ ICAgPGRheT4yODwvZGF5Pg0KICAgICAgICAgIDx5ZWFyPjIwMTY8L3llYXI+
102
+ DQogICAgICAgIDwvcG9zdGVkX2RhdGU+DQogICAgICAgIDxhY2NlcHRhbmNl
103
+ X2RhdGU+DQogICAgICAgICAgPG1vbnRoPjEyPC9tb250aD4NCiAgICAgICAg
104
+ ICA8ZGF5PjI4PC9kYXk+DQogICAgICAgICAgPHllYXI+MjAxNjwveWVhcj4N
105
+ CiAgICAgICAgPC9hY2NlcHRhbmNlX2RhdGU+DQogICAgICAgIDxpbnN0aXR1
106
+ dGlvbj4NCiAgICAgICAgICA8aW5zdGl0dXRpb25fbmFtZT5iaW9SeGl2PC9p
107
+ bnN0aXR1dGlvbl9uYW1lPg0KICAgICAgICA8L2luc3RpdHV0aW9uPg0KICAg
108
+ ICAgICA8aXRlbV9udW1iZXIgaXRlbV9udW1iZXJfdHlwZT0icGlzYSI+Ymlv
109
+ cnhpdjswOTcxOTZ2MTwvaXRlbV9udW1iZXI+DQogICAgICAgIDxhYnN0cmFj
110
+ dD4NCiAgICAgICAgICA8cD5UaGlzIGFydGljbGUgcHJlc2VudHMgYSBwcmFj
111
+ dGljYWwgcm9hZG1hcCBmb3Igc2Nob2xhcmx5IGRhdGEgcmVwb3NpdG9yaWVz
112
+ IHRvIGltcGxlbWVudCBkYXRhIGNpdGF0aW9uIGluIGFjY29yZGFuY2Ugd2l0
113
+ aCB0aGUgSm9pbnQgRGVjbGFyYXRpb24gb2YgRGF0YSBDaXRhdGlvbiBQcmlu
114
+ Y2lwbGVzIChEYXRhIENpdGF0aW9uIFN5bnRoZXNpcyBHcm91cCwgMjAxNCks
115
+ IGEgc3lub3BzaXMgYW5kIGhhcm1vbml6YXRpb24gb2YgdGhlIHJlY29tbWVu
116
+ ZGF0aW9ucyBvZiBtYWpvciBzY2llbmNlIHBvbGljeSBib2RpZXMuIFRoZSBy
117
+ b2FkbWFwIHdhcyBkZXZlbG9wZWQgYnkgdGhlIFJlcG9zaXRvcmllcyBFYXJs
118
+ eSBBZG9wdGVycyBFeHBlcnQgR3JvdXAsICBwYXJ0IG9mIHRoZSBEYXRhIENp
119
+ dGF0aW9uIEltcGxlbWVudGF0aW9uIFBpbG90IChEQ0lQKSBwcm9qZWN0IChG
120
+ T1JDRTExLCAyMDE1KSwgYW4gaW5pdGlhdGl2ZSBvZiBGT1JDRTExLm9yZyBh
121
+ bmQgdGhlIE5JSCBCaW9DQURESUUgKDIwMTYpIHByb2dyYW0uIFRoZSByb2Fk
122
+ bWFwIG1ha2VzIDExIHNwZWNpZmljIHJlY29tbWVuZGF0aW9ucywgZ3JvdXBl
123
+ ZCBpbnRvIHRocmVlIHBoYXNlcyBvZiBpbXBsZW1lbnRhdGlvbjogYSkgcmVx
124
+ dWlyZWQgc3RlcHMgbmVlZGVkIHRvIHN1cHBvcnQgdGhlIEpvaW50IERlY2xh
125
+ cmF0aW9uIG9mIERhdGEgQ2l0YXRpb24gUHJpbmNpcGxlcywgYikgcmVjb21t
126
+ ZW5kZWQgc3RlcHMgdGhhdCBmYWNpbGl0YXRlIGFydGljbGUvZGF0YSBwdWJs
127
+ aWNhdGlvbiB3b3JrZmxvd3MsIGFuZCBjKSBvcHRpb25hbCBzdGVwcyB0aGF0
128
+ IGZ1cnRoZXIgaW1wcm92ZSBkYXRhIGNpdGF0aW9uIHN1cHBvcnQgcHJvdmlk
129
+ ZWQgYnkgZGF0YSByZXBvc2l0b3JpZXMuPC9wPg0KICAgICAgICA8L2Fic3Ry
130
+ YWN0Pg0KICAgICAgICA8ZG9pX2RhdGE+DQogICAgICAgICAgPGRvaT4xMC4x
131
+ MTAxLzA5NzE5NjwvZG9pPg0KICAgICAgICAgIDx0aW1lc3RhbXA+MjAxNjEy
132
+ MjgyMjEwMDY0OTAwMDwvdGltZXN0YW1wPg0KICAgICAgICAgIDxyZXNvdXJj
133
+ ZT5odHRwOi8vYmlvcnhpdi5vcmcvbG9va3VwL2RvaS8xMC4xMTAxLzA5NzE5
134
+ NjwvcmVzb3VyY2U+DQogICAgICAgICAgPGNvbGxlY3Rpb24gcHJvcGVydHk9
135
+ ImNyYXdsZXItYmFzZWQiPg0KICAgICAgICAgICAgPGl0ZW0gY3Jhd2xlcj0i
136
+ aVBhcmFkaWdtcyI+DQogICAgICAgICAgICAgIDxyZXNvdXJjZT5odHRwczov
137
+ L3N5bmRpY2F0aW9uLmhpZ2h3aXJlLm9yZy9jb250ZW50L2RvaS8xMC4xMTAx
138
+ LzA5NzE5NjwvcmVzb3VyY2U+DQogICAgICAgICAgICA8L2l0ZW0+DQogICAg
139
+ ICAgICAgPC9jb2xsZWN0aW9uPg0KICAgICAgICA8L2RvaV9kYXRhPg0KICAg
140
+ ICAgPC9wb3N0ZWRfY29udGVudD4NCiAgICA8L2Nyb3NzcmVmPg0KICA8L2Rv
141
+ aV9yZWNvcmQ+DQo8L2RvaV9yZWNvcmRzPg==
142
+ http_version:
143
+ recorded_at: Tue, 20 Jun 2017 05:06:47 GMT
144
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,94 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.1101/097196&noredirect=true&pid=tech@datacite.org
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Maremma - https://github.com/datacite/maremma
12
+ Accept:
13
+ - text/xml
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: ''
18
+ headers:
19
+ Server:
20
+ - Apache-Coyote/1.1
21
+ Crossref-Deployment-Name:
22
+ - qs4-1
23
+ Content-Type:
24
+ - text/xml;charset=UTF-8
25
+ Content-Language:
26
+ - en-US
27
+ Date:
28
+ - Tue, 20 Jun 2017 06:10:05 GMT
29
+ Connection:
30
+ - close
31
+ body:
32
+ encoding: UTF-8
33
+ string: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doi_records>\r\n <doi_record
34
+ owner=\"10.1101\" timestamp=\"2016-12-29 01:10:20\">\r\n <crossref>\r\n
35
+ \ <posted_content type=\"preprint\" language=\"en\" metadata_distribution_opts=\"any\">\r\n
36
+ \ <group_title>Scientific Communication and Education</group_title>\r\n
37
+ \ <contributors>\r\n <person_name contributor_role=\"author\"
38
+ sequence=\"first\">\r\n <given_name>Martin</given_name>\r\n <surname>Fenner</surname>\r\n
39
+ \ <ORCID>http://orcid.org/0000-0003-1419-2405</ORCID>\r\n </person_name>\r\n
40
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
41
+ \ <given_name>Merc?</given_name>\r\n <surname>Crosas</surname>\r\n
42
+ \ <ORCID>http://orcid.org/0000-0003-1304-1939</ORCID>\r\n </person_name>\r\n
43
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
44
+ \ <given_name>Jeffrey</given_name>\r\n <surname>Grethe</surname>\r\n
45
+ \ <ORCID>http://orcid.org/0000-0001-5212-7052</ORCID>\r\n </person_name>\r\n
46
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
47
+ \ <given_name>David</given_name>\r\n <surname>Kennedy</surname>\r\n
48
+ \ <ORCID>http://orcid.org/0000-0002-9377-0797</ORCID>\r\n </person_name>\r\n
49
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
50
+ \ <given_name>Henning</given_name>\r\n <surname>Hermjakob</surname>\r\n
51
+ \ <ORCID>http://orcid.org/0000-0001-8479-0262</ORCID>\r\n </person_name>\r\n
52
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
53
+ \ <given_name>Philippe</given_name>\r\n <surname>Rocca-Serra</surname>\r\n
54
+ \ <ORCID>http://orcid.org/0000-0001-9853-5668</ORCID>\r\n </person_name>\r\n
55
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
56
+ \ <given_name>Robin</given_name>\r\n <surname>Berjon</surname>\r\n
57
+ \ <ORCID>http://orcid.org/0000-0002-1731-5346</ORCID>\r\n </person_name>\r\n
58
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
59
+ \ <given_name>Sebastian</given_name>\r\n <surname>Karcher</surname>\r\n
60
+ \ <ORCID>http://orcid.org/0000-0001-8249-7388</ORCID>\r\n </person_name>\r\n
61
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
62
+ \ <given_name>Maryann</given_name>\r\n <surname>Martone</surname>\r\n
63
+ \ <ORCID>http://orcid.org/0000-0002-8406-3871</ORCID>\r\n </person_name>\r\n
64
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
65
+ \ <given_name>Timothy</given_name>\r\n <surname>Clark</surname>\r\n
66
+ \ <ORCID>http://orcid.org/0000-0003-4060-7360</ORCID>\r\n </person_name>\r\n
67
+ \ </contributors>\r\n <titles>\r\n <title>A Data Citation
68
+ Roadmap for Scholarly Data Repositories</title>\r\n </titles>\r\n <posted_date>\r\n
69
+ \ <month>12</month>\r\n <day>28</day>\r\n <year>2016</year>\r\n
70
+ \ </posted_date>\r\n <acceptance_date>\r\n <month>12</month>\r\n
71
+ \ <day>28</day>\r\n <year>2016</year>\r\n </acceptance_date>\r\n
72
+ \ <institution>\r\n <institution_name>bioRxiv</institution_name>\r\n
73
+ \ </institution>\r\n <item_number item_number_type=\"pisa\">biorxiv;097196v1</item_number>\r\n
74
+ \ <abstract>\r\n <p>This article presents a practical roadmap
75
+ for scholarly data repositories to implement data citation in accordance with
76
+ the Joint Declaration of Data Citation Principles (Data Citation Synthesis
77
+ Group, 2014), a synopsis and harmonization of the recommendations of major
78
+ science policy bodies. The roadmap was developed by the Repositories Early
79
+ Adopters Expert Group, part of the Data Citation Implementation Pilot (DCIP)
80
+ project (FORCE11, 2015), an initiative of FORCE11.org and the NIH BioCADDIE
81
+ (2016) program. The roadmap makes 11 specific recommendations, grouped into
82
+ three phases of implementation: a) required steps needed to support the Joint
83
+ Declaration of Data Citation Principles, b) recommended steps that facilitate
84
+ article/data publication workflows, and c) optional steps that further improve
85
+ data citation support provided by data repositories.</p>\r\n </abstract>\r\n
86
+ \ <doi_data>\r\n <doi>10.1101/097196</doi>\r\n <timestamp>2016122822100649000</timestamp>\r\n
87
+ \ <resource>http://biorxiv.org/lookup/doi/10.1101/097196</resource>\r\n
88
+ \ <collection property=\"crawler-based\">\r\n <item crawler=\"iParadigms\">\r\n
89
+ \ <resource>https://syndication.highwire.org/content/doi/10.1101/097196</resource>\r\n
90
+ \ </item>\r\n </collection>\r\n </doi_data>\r\n
91
+ \ </posted_content>\r\n </crossref>\r\n </doi_record>\r\n</doi_records>"
92
+ http_version:
93
+ recorded_at: Tue, 20 Jun 2017 05:06:47 GMT
94
+ recorded_with: VCR 3.0.3
@@ -0,0 +1,94 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: http://www.crossref.org/openurl/?format=unixref&id=doi:10.1101/097196&noredirect=true&pid=tech@datacite.org
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Maremma - https://github.com/datacite/maremma
12
+ Accept:
13
+ - text/xml
14
+ response:
15
+ status:
16
+ code: 200
17
+ message: ''
18
+ headers:
19
+ Server:
20
+ - Apache-Coyote/1.1
21
+ Crossref-Deployment-Name:
22
+ - qs2-2
23
+ Content-Type:
24
+ - text/xml;charset=UTF-8
25
+ Content-Language:
26
+ - en-US
27
+ Date:
28
+ - Tue, 20 Jun 2017 05:06:46 GMT
29
+ Connection:
30
+ - close
31
+ body:
32
+ encoding: UTF-8
33
+ string: "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<doi_records>\r\n <doi_record
34
+ owner=\"10.1101\" timestamp=\"2016-12-29 01:10:20\">\r\n <crossref>\r\n
35
+ \ <posted_content type=\"preprint\" language=\"en\" metadata_distribution_opts=\"any\">\r\n
36
+ \ <group_title>Scientific Communication and Education</group_title>\r\n
37
+ \ <contributors>\r\n <person_name contributor_role=\"author\"
38
+ sequence=\"first\">\r\n <given_name>Martin</given_name>\r\n <surname>Fenner</surname>\r\n
39
+ \ <ORCID>http://orcid.org/0000-0003-1419-2405</ORCID>\r\n </person_name>\r\n
40
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
41
+ \ <given_name>Merc?</given_name>\r\n <surname>Crosas</surname>\r\n
42
+ \ <ORCID>http://orcid.org/0000-0003-1304-1939</ORCID>\r\n </person_name>\r\n
43
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
44
+ \ <given_name>Jeffrey</given_name>\r\n <surname>Grethe</surname>\r\n
45
+ \ <ORCID>http://orcid.org/0000-0001-5212-7052</ORCID>\r\n </person_name>\r\n
46
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
47
+ \ <given_name>David</given_name>\r\n <surname>Kennedy</surname>\r\n
48
+ \ <ORCID>http://orcid.org/0000-0002-9377-0797</ORCID>\r\n </person_name>\r\n
49
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
50
+ \ <given_name>Henning</given_name>\r\n <surname>Hermjakob</surname>\r\n
51
+ \ <ORCID>http://orcid.org/0000-0001-8479-0262</ORCID>\r\n </person_name>\r\n
52
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
53
+ \ <given_name>Philippe</given_name>\r\n <surname>Rocca-Serra</surname>\r\n
54
+ \ <ORCID>http://orcid.org/0000-0001-9853-5668</ORCID>\r\n </person_name>\r\n
55
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
56
+ \ <given_name>Robin</given_name>\r\n <surname>Berjon</surname>\r\n
57
+ \ <ORCID>http://orcid.org/0000-0002-1731-5346</ORCID>\r\n </person_name>\r\n
58
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
59
+ \ <given_name>Sebastian</given_name>\r\n <surname>Karcher</surname>\r\n
60
+ \ <ORCID>http://orcid.org/0000-0001-8249-7388</ORCID>\r\n </person_name>\r\n
61
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
62
+ \ <given_name>Maryann</given_name>\r\n <surname>Martone</surname>\r\n
63
+ \ <ORCID>http://orcid.org/0000-0002-8406-3871</ORCID>\r\n </person_name>\r\n
64
+ \ <person_name contributor_role=\"author\" sequence=\"additional\">\r\n
65
+ \ <given_name>Timothy</given_name>\r\n <surname>Clark</surname>\r\n
66
+ \ <ORCID>http://orcid.org/0000-0003-4060-7360</ORCID>\r\n </person_name>\r\n
67
+ \ </contributors>\r\n <titles>\r\n <title>A Data Citation
68
+ Roadmap for Scholarly Data Repositories</title>\r\n </titles>\r\n <posted_date>\r\n
69
+ \ <month>12</month>\r\n <day>28</day>\r\n <year>2016</year>\r\n
70
+ \ </posted_date>\r\n <acceptance_date>\r\n <month>12</month>\r\n
71
+ \ <day>28</day>\r\n <year>2016</year>\r\n </acceptance_date>\r\n
72
+ \ <institution>\r\n <institution_name>bioRxiv</institution_name>\r\n
73
+ \ </institution>\r\n <item_number item_number_type=\"pisa\">biorxiv;097196v1</item_number>\r\n
74
+ \ <abstract>\r\n <p>This article presents a practical roadmap
75
+ for scholarly data repositories to implement data citation in accordance with
76
+ the Joint Declaration of Data Citation Principles (Data Citation Synthesis
77
+ Group, 2014), a synopsis and harmonization of the recommendations of major
78
+ science policy bodies. The roadmap was developed by the Repositories Early
79
+ Adopters Expert Group, part of the Data Citation Implementation Pilot (DCIP)
80
+ project (FORCE11, 2015), an initiative of FORCE11.org and the NIH BioCADDIE
81
+ (2016) program. The roadmap makes 11 specific recommendations, grouped into
82
+ three phases of implementation: a) required steps needed to support the Joint
83
+ Declaration of Data Citation Principles, b) recommended steps that facilitate
84
+ article/data publication workflows, and c) optional steps that further improve
85
+ data citation support provided by data repositories.</p>\r\n </abstract>\r\n
86
+ \ <doi_data>\r\n <doi>10.1101/097196</doi>\r\n <timestamp>2016122822100649000</timestamp>\r\n
87
+ \ <resource>http://biorxiv.org/lookup/doi/10.1101/097196</resource>\r\n
88
+ \ <collection property=\"crawler-based\">\r\n <item crawler=\"iParadigms\">\r\n
89
+ \ <resource>https://syndication.highwire.org/content/doi/10.1101/097196</resource>\r\n
90
+ \ </item>\r\n </collection>\r\n </doi_data>\r\n
91
+ \ </posted_content>\r\n </crossref>\r\n </doi_record>\r\n</doi_records>"
92
+ http_version:
93
+ recorded_at: Tue, 20 Jun 2017 05:06:47 GMT
94
+ recorded_with: VCR 3.0.3
@@ -31,6 +31,32 @@ describe Bolognese::Metadata, vcr: true do
31
31
  end
32
32
  end
33
33
 
34
+ context "validate_orcid" do
35
+ it "validate_orcid" do
36
+ orcid = "http://orcid.org/0000-0002-2590-225X"
37
+ response = subject.validate_orcid(orcid)
38
+ expect(response).to eq("0000-0002-2590-225X")
39
+ end
40
+
41
+ it "validate_orcid id" do
42
+ orcid = "0000-0002-2590-225X"
43
+ response = subject.validate_orcid(orcid)
44
+ expect(response).to eq("0000-0002-2590-225X")
45
+ end
46
+
47
+ it "validate_orcid with spaces" do
48
+ orcid = "0000 0002 1394 3097"
49
+ response = subject.validate_orcid(orcid)
50
+ expect(response).to eq("0000-0002-1394-3097")
51
+ end
52
+
53
+ it "validate_orcid wrong id" do
54
+ orcid = "0000-0002-1394-309"
55
+ response = subject.validate_orcid(orcid)
56
+ expect(response).to be_nil
57
+ end
58
+ end
59
+
34
60
  context "parse attributes" do
35
61
  it "string" do
36
62
  element = "10.5061/DRYAD.8515"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bolognese
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.23
4
+ version: 0.9.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Fenner
@@ -683,6 +683,10 @@ files:
683
683
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_only_keep_specific_tags.yml
684
684
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/sanitize/should_remove_a_tags.yml
685
685
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/to_schema_org/with_id.yml
686
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid.yml
687
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_id.yml
688
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_with_spaces.yml
689
+ - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_orcid/validate_orcid_wrong_id.yml
686
690
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/DOI.yml
687
691
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/ISSN.yml
688
692
  - spec/fixtures/vcr_cassettes/Bolognese_Metadata/validate_url/URL.yml