orcid_client 0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.env.example +10 -0
- data/.gitignore +42 -0
- data/.travis.yml +17 -0
- data/CHANGELOG.md +0 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +115 -0
- data/LICENSE.md +21 -0
- data/README.md +45 -0
- data/Rakefile +5 -0
- data/lib/orcid_client.rb +3 -0
- data/lib/orcid_client/api.rb +75 -0
- data/lib/orcid_client/author.rb +56 -0
- data/lib/orcid_client/base.rb +21 -0
- data/lib/orcid_client/date.rb +61 -0
- data/lib/orcid_client/metadata.rb +128 -0
- data/lib/orcid_client/notification.rb +125 -0
- data/lib/orcid_client/version.rb +3 -0
- data/lib/orcid_client/work.rb +200 -0
- data/lib/orcid_client/work_type.rb +68 -0
- data/orcid_client.gemspec +37 -0
- data/resources/common_2.0_rc3/common-2.0_rc3.xsd +1624 -0
- data/resources/common_2.0_rc3/samples/common-2.0_rc3.xml +8 -0
- data/resources/notification_2.0_rc3/notification-custom-2.0_rc3.xsd +32 -0
- data/resources/notification_2.0_rc3/notification-permission-2.0_rc3.xsd +128 -0
- data/resources/notification_2.0_rc3/samples/notification-custom-2.0_rc3.xml +45 -0
- data/resources/notification_2.0_rc3/samples/notification-permission-2.0_rc3.xml +58 -0
- data/resources/record_2.0_rc3/activities-2.0_rc3.xsd +187 -0
- data/resources/record_2.0_rc3/address-2.0_rc3.xsd +73 -0
- data/resources/record_2.0_rc3/bulk-2.0_rc3.xsd +57 -0
- data/resources/record_2.0_rc3/deprecated-2.0_rc3.xsd +80 -0
- data/resources/record_2.0_rc3/education-2.0_rc3.xsd +96 -0
- data/resources/record_2.0_rc3/email-2.0_rc3.xsd +74 -0
- data/resources/record_2.0_rc3/employment-2.0_rc3.xsd +96 -0
- data/resources/record_2.0_rc3/error-2.0_rc3.xsd +84 -0
- data/resources/record_2.0_rc3/funding-2.0_rc3.xsd +257 -0
- data/resources/record_2.0_rc3/history-2.0_rc3.xsd +203 -0
- data/resources/record_2.0_rc3/internal-2.0_rc3.xsd +199 -0
- data/resources/record_2.0_rc3/keyword-2.0_rc3.xsd +72 -0
- data/resources/record_2.0_rc3/other-name-2.0_rc3.xsd +88 -0
- data/resources/record_2.0_rc3/peer-review-2.0_rc3.xsd +246 -0
- data/resources/record_2.0_rc3/person-2.0_rc3.xsd +98 -0
- data/resources/record_2.0_rc3/person-external-identifier-2.0_rc3.xsd +63 -0
- data/resources/record_2.0_rc3/personal-details-2.0_rc3.xsd +186 -0
- data/resources/record_2.0_rc3/preferences-2.0_rc3.xsd +50 -0
- data/resources/record_2.0_rc3/record-2.0_rc3.xsd +105 -0
- data/resources/record_2.0_rc3/researcher-url-2.0_rc3.xsd +90 -0
- data/resources/record_2.0_rc3/samples/activities-2.0_rc3.xml +236 -0
- data/resources/record_2.0_rc3/samples/address-2.0_rc3.xml +16 -0
- data/resources/record_2.0_rc3/samples/addresses-2.0_rc3.xml +32 -0
- data/resources/record_2.0_rc3/samples/biography-2.0_rc3.xml +10 -0
- data/resources/record_2.0_rc3/samples/bulk-work-2.0_rc3.json +56 -0
- data/resources/record_2.0_rc3/samples/bulk-work-2.0_rc3.xml +62 -0
- data/resources/record_2.0_rc3/samples/credit-name-2.0_rc3.xml +5 -0
- data/resources/record_2.0_rc3/samples/deprecated-2.0_rc3.xml +13 -0
- data/resources/record_2.0_rc3/samples/education-2.0_rc3.xml +30 -0
- data/resources/record_2.0_rc3/samples/education-full-2.0_rc3.xml +40 -0
- data/resources/record_2.0_rc3/samples/email-2.0_rc3.xml +16 -0
- data/resources/record_2.0_rc3/samples/emails-2.0_rc3.xml +31 -0
- data/resources/record_2.0_rc3/samples/employment-2.0_rc3.xml +30 -0
- data/resources/record_2.0_rc3/samples/employment-full-2.0_rc3.xml +40 -0
- data/resources/record_2.0_rc3/samples/error-2.0_rc3.xml +8 -0
- data/resources/record_2.0_rc3/samples/external-identifier-2.0_rc3.xml +20 -0
- data/resources/record_2.0_rc3/samples/external-identifiers-2.0_rc3.xml +36 -0
- data/resources/record_2.0_rc3/samples/funding-2.0_rc3.xml +65 -0
- data/resources/record_2.0_rc3/samples/funding-full-2.0_rc3.xml +75 -0
- data/resources/record_2.0_rc3/samples/history-2.0_rc3.xml +22 -0
- data/resources/record_2.0_rc3/samples/keyword-2.0_rc3.xml +18 -0
- data/resources/record_2.0_rc3/samples/keywords-2.0_rc3.xml +34 -0
- data/resources/record_2.0_rc3/samples/name-2.0_rc3.xml +12 -0
- data/resources/record_2.0_rc3/samples/other-name-2.0_rc3.xml +16 -0
- data/resources/record_2.0_rc3/samples/other-names-2.0_rc3.xml +31 -0
- data/resources/record_2.0_rc3/samples/peer-review-2.0_rc3.xml +49 -0
- data/resources/record_2.0_rc3/samples/peer-review-full-2.0_rc3.xml +59 -0
- data/resources/record_2.0_rc3/samples/person-2.0_rc3.xml +122 -0
- data/resources/record_2.0_rc3/samples/personal-details-2.0_rc3.xml +47 -0
- data/resources/record_2.0_rc3/samples/preferences-2.0_rc3.xml +4 -0
- data/resources/record_2.0_rc3/samples/record-2.0_rc3.xml +420 -0
- data/resources/record_2.0_rc3/samples/researcher-url-2.0_rc3.xml +19 -0
- data/resources/record_2.0_rc3/samples/researcher-urls-2.0_rc3.xml +21 -0
- data/resources/record_2.0_rc3/samples/search-2.0_rc3.xml +368 -0
- data/resources/record_2.0_rc3/samples/work-2.0_rc3.xml +49 -0
- data/resources/record_2.0_rc3/samples/work-full-2.0_rc3.xml +59 -0
- data/resources/record_2.0_rc3/search-2.0_rc3.xsd +82 -0
- data/resources/record_2.0_rc3/work-2.0_rc3.xsd +445 -0
- data/spec/api_spec.rb +59 -0
- data/spec/fixtures/vcr_cassettes/OrcidClient/get/should_get_works.yml +646 -0
- data/spec/fixtures/vcr_cassettes/OrcidClient/notifications/post/should_create_notification.yml +104 -0
- data/spec/fixtures/vcr_cassettes/OrcidClient/works/delete/should_delete_work.yml +38 -0
- data/spec/fixtures/vcr_cassettes/OrcidClient/works/get/should_get_works.yml +646 -0
- data/spec/fixtures/vcr_cassettes/OrcidClient/works/post/should_create_work.yml +116 -0
- data/spec/fixtures/vcr_cassettes/OrcidClient/works/put/should_update_work.yml +155 -0
- data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/data.yml +44 -0
- data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/schema/validates_data.yml +44 -0
- data/spec/fixtures/vcr_cassettes/OrcidClient_Notification/schema/validates_item_type_work.yml +41 -0
- data/spec/fixtures/vcr_cassettes/OrcidClient_Work/citation.yml +50 -0
- data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/literal.yml +47 -0
- data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/multiple_titles.yml +47 -0
- data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/valid.yml +50 -0
- data/spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/with_ORCID_IDs.yml +157 -0
- data/spec/fixtures/vcr_cassettes/OrcidClient_Work/data.yml +50 -0
- data/spec/fixtures/vcr_cassettes/OrcidClient_Work/publication_date.yml +50 -0
- data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_ORCID_IDs_for_contributors.yml +157 -0
- data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_data.yml +50 -0
- data/spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_work_type_data-set.yml +47 -0
- data/spec/fixtures/work.xml +33 -0
- data/spec/notification_spec.rb +42 -0
- data/spec/spec_helper.rb +32 -0
- data/spec/work_spec.rb +100 -0
- metadata +392 -0
@@ -0,0 +1,50 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://search.datacite.org/api?fl=doi,creator,title,publisher,publicationYear,resourceTypeGeneral,description,datacentre,datacentre_symbol,prefix,relatedIdentifier,xml,minted,updated&q=doi:10.5281/zenodo.59983&rows=1&wt=json
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Maremma - https://github.com/datacite/maremma
|
12
|
+
Accept:
|
13
|
+
- text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: ''
|
18
|
+
headers:
|
19
|
+
Server:
|
20
|
+
- openresty/1.11.2.1
|
21
|
+
Date:
|
22
|
+
- Sun, 06 Nov 2016 17:39:31 GMT
|
23
|
+
Content-Type:
|
24
|
+
- application/json;charset=UTF-8
|
25
|
+
Access-Control-Allow-Origin:
|
26
|
+
- "*"
|
27
|
+
Access-Control-Allow-Methods:
|
28
|
+
- GET, POST, OPTIONS
|
29
|
+
X-Cache:
|
30
|
+
- MISS from IMP-cache
|
31
|
+
X-Cache-Lookup:
|
32
|
+
- MISS from IMP-cache:3128
|
33
|
+
Via:
|
34
|
+
- 1.0 IMP-cache (squid/3.1.20)
|
35
|
+
Connection:
|
36
|
+
- close
|
37
|
+
body:
|
38
|
+
encoding: UTF-8
|
39
|
+
string: '{"responseHeader":{"status":0,"QTime":0},"response":{"numFound":1,"start":0,"docs":[{"minted":"2016-08-11T04:47:51Z","datacentre_symbol":"CERN.ZENODO","xml":"PHJlc291cmNlIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtMyIgeG1sbnM6eHNpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxL1hNTFNjaGVtYS1pbnN0YW5jZSIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtMyBodHRwOi8vc2NoZW1hLmRhdGFjaXRlLm9yZy9tZXRhL2tlcm5lbC0zL21ldGFkYXRhLnhzZCI+CiAgPGlkZW50aWZpZXIgaWRlbnRpZmllclR5cGU9IkRPSSI+MTAuNTI4MS96ZW5vZG8uNTk5ODM8L2lkZW50aWZpZXI+CiAgPGNyZWF0b3JzPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZT5NYXJ0aW4gRmVubmVyPC9jcmVhdG9yTmFtZT4KICAgICAgPGFmZmlsaWF0aW9uPkRhdGFDaXRlPC9hZmZpbGlhdGlvbj4KICAgIDwvY3JlYXRvcj4KICAgIDxjcmVhdG9yPgogICAgICA8Y3JlYXRvck5hbWU+R3VkbXVuZHVyIEEuIFRob3Jpc3NvbjwvY3JlYXRvck5hbWU+CiAgICA8L2NyZWF0b3I+CiAgICA8Y3JlYXRvcj4KICAgICAgPGNyZWF0b3JOYW1lPkVsZWFub3IgS2llZmVsIEhhZ2dlcnR5PC9jcmVhdG9yTmFtZT4KICAgIDwvY3JlYXRvcj4KICAgIDxjcmVhdG9yPgogICAgICA8Y3JlYXRvck5hbWU+QW51c2hhIFJhbmdhbmF0aGFuPC9jcmVhdG9yTmFtZT4KICAgIDwvY3JlYXRvcj4KICA8L2NyZWF0b3JzPgogIDx0aXRsZXM+CiAgICA8dGl0bGU+b21uaWF1dGgtb3JjaWQ6IHYuMS4xLjU8L3RpdGxlPgogIDwvdGl0bGVzPgogIDxwdWJsaXNoZXI+WmVub2RvPC9wdWJsaXNoZXI+CiAgPHB1YmxpY2F0aW9uWWVhcj4yMDE2PC9wdWJsaWNhdGlvblllYXI+CiAgPGNvbnRyaWJ1dG9ycy8+CiAgPGRhdGVzPgogICAgPGRhdGUgZGF0ZVR5cGU9Iklzc3VlZCI+MjAxNi0wOC0xMTwvZGF0ZT4KICA8L2RhdGVzPgogIDxyZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlR2VuZXJhbD0iU29mdHdhcmUiLz4KICA8YWx0ZXJuYXRlSWRlbnRpZmllcnM+CiAgICA8YWx0ZXJuYXRlSWRlbnRpZmllciBhbHRlcm5hdGVJZGVudGlmaWVyVHlwZT0iVVJMIj5odHRwOi8vemVub2RvLm9yZy9yZWNvcmQvNTk5ODM8L2FsdGVybmF0ZUlkZW50aWZpZXI+CiAgPC9hbHRlcm5hdGVJZGVudGlmaWVycz4KICA8cmVsYXRlZElkZW50aWZpZXJzPgogICAgPHJlbGF0ZWRJZGVudGlmaWVyIHJlbGF0aW9uVHlwZT0iSXNTdXBwbGVtZW50VG8iIHJlbGF0ZWRJZGVudGlmaWVyVHlwZT0iVVJMIj5odHRwczovL2dpdGh1Yi5jb20vZGF0YWNpdGUvb21uaWF1dGgtb3JjaWQvdHJlZS92LjEuMS41PC9yZWxhdGVkSWRlbnRpZmllcj4KICAgIDxyZWxhdGVkSWRlbnRpZmllciByZWxhdGlvblR5cGU9Ikhhc1BhcnQiIHJlbGF0ZWRJZGVudGlmaWVyVHlwZT0iVVJMIj5odHRwczovL3plbm9kby5vcmcvcmVjb3JkLzU5OTgzL2ZpbGVzL29tbmlhdXRoLW9yY2lkLXYuMS4xLjUuemlwPC9yZWxhdGVkSWRlbnRpZmllcj4KICA8L3JlbGF0ZWRJZGVudGlmaWVycz4KICA8cmlnaHRzTGlzdD4KICAgIDxyaWdodHMgcmlnaHRzVVJJPSJpbmZvOmV1LXJlcG8vc2VtYW50aWNzL29wZW5BY2Nlc3MiPk9wZW4gQWNjZXNzPC9yaWdodHM+CiAgICA8cmlnaHRzIHJpZ2h0c1VSST0iIj5PdGhlciAoT3Blbik8L3JpZ2h0cz4KICA8L3JpZ2h0c0xpc3Q+CiAgPGRlc2NyaXB0aW9ucz4KICAgIDxkZXNjcmlwdGlvbiBkZXNjcmlwdGlvblR5cGU9IkFic3RyYWN0Ij4mbHQ7cCZndDsmbHQ7YSBocmVmPSJodHRwczovL2dpdGh1Yi5jb20vZGF0YWNpdGUvb21uaWF1dGgtb3JjaWQvcmVsZWFzZXMvdGFnL3YuMS4xLjUiJmd0O29ubWlhdXRoLW9yY2lkIDEuMS41Jmx0Oy9hJmd0OyB3YXMgcmVsZWFzZWQgb24gQXVndXN0IDExLCAyMDE2IHdpdGggdGhlIGZvbGxvd2luZyBjaGFuZ2VzOiZsdDsvcCZndDsKCiZsdDt1bCZndDsKJmx0O2xpJmd0O2NvbXBhdGliaWxpdHkgd2l0aCBvbW5pYXV0aC1vYXV0aDIgMS40LjAuIFRoYW5rcyB0byBwdWxsIHJlcXVlc3QgJmx0O2EgaHJlZj0iaHR0cHM6Ly9naXRodWIuY29tL2RhdGFjaXRlL29tbmlhdXRoLW9yY2lkL3B1bGwvNyImZ3Q7IzcmbHQ7L2EmZ3Q7IGJ5ICZsdDthIGhyZWY9Imh0dHBzOi8vZ2l0aHViLmNvbS9lbGVhbm9yYWtoIiZndDtlbGVhbm9yYWtoJmx0Oy9hJmd0Oy4mbHQ7L2xpJmd0OwombHQ7L3VsJmd0OzwvZGVzY3JpcHRpb24+CiAgPC9kZXNjcmlwdGlvbnM+CjwvcmVzb3VyY2U+Cg==","datacentre":"CERN.ZENODO
|
40
|
+
- ZENODO - Research. Shared.","updated":"2016-08-11T04:47:51Z","prefix":"10.5281","doi":"10.5281/ZENODO.59983","relatedIdentifier":["IsSupplementTo:URL:https://github.com/datacite/omniauth-orcid/tree/v.1.1.5","HasPart:URL:https://zenodo.org/record/59983/files/omniauth-orcid-v.1.1.5.zip"],"creator":["Martin
|
41
|
+
Fenner","Gudmundur A. Thorisson","Eleanor Kiefel Haggerty","Anusha Ranganathan"],"publisher":"Zenodo","title":["omniauth-orcid:
|
42
|
+
v.1.1.5"],"description":["<p><a href=\"https://github.com/datacite/omniauth-orcid/releases/tag/v.1.1.5\">onmiauth-orcid
|
43
|
+
1.1.5</a> was released on August 11, 2016 with the following changes:</p>\n\n<ul>\n<li>compatibility
|
44
|
+
with omniauth-oauth2 1.4.0. Thanks to pull request <a href=\"https://github.com/datacite/omniauth-orcid/pull/7\">#7</a>
|
45
|
+
by <a href=\"https://github.com/eleanorakh\">eleanorakh</a>.</li>\n</ul>"],"publicationYear":"2016","resourceTypeGeneral":"Software"}]}}
|
46
|
+
|
47
|
+
'
|
48
|
+
http_version:
|
49
|
+
recorded_at: Sun, 06 Nov 2016 17:39:41 GMT
|
50
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,47 @@
|
|
1
|
+
---
|
2
|
+
http_interactions:
|
3
|
+
- request:
|
4
|
+
method: get
|
5
|
+
uri: http://search.datacite.org/api?fl=doi,creator,title,publisher,publicationYear,resourceTypeGeneral,description,datacentre,datacentre_symbol,prefix,relatedIdentifier,xml,minted,updated&q=doi:10.5061/DRYAD.781PV&rows=1&wt=json
|
6
|
+
body:
|
7
|
+
encoding: US-ASCII
|
8
|
+
string: ''
|
9
|
+
headers:
|
10
|
+
User-Agent:
|
11
|
+
- Maremma - https://github.com/datacite/maremma
|
12
|
+
Accept:
|
13
|
+
- text/html,application/json,application/xml;q=0.9, text/plain;q=0.8,image/png,*/*;q=0.5
|
14
|
+
response:
|
15
|
+
status:
|
16
|
+
code: 200
|
17
|
+
message: ''
|
18
|
+
headers:
|
19
|
+
Server:
|
20
|
+
- openresty/1.11.2.1
|
21
|
+
Date:
|
22
|
+
- Sun, 06 Nov 2016 17:39:32 GMT
|
23
|
+
Content-Type:
|
24
|
+
- application/json;charset=UTF-8
|
25
|
+
Access-Control-Allow-Origin:
|
26
|
+
- "*"
|
27
|
+
Access-Control-Allow-Methods:
|
28
|
+
- GET, POST, OPTIONS
|
29
|
+
X-Cache:
|
30
|
+
- MISS from IMP-cache
|
31
|
+
X-Cache-Lookup:
|
32
|
+
- MISS from IMP-cache:3128
|
33
|
+
Via:
|
34
|
+
- 1.0 IMP-cache (squid/3.1.20)
|
35
|
+
Connection:
|
36
|
+
- close
|
37
|
+
body:
|
38
|
+
encoding: UTF-8
|
39
|
+
string: '{"responseHeader":{"status":0,"QTime":6},"response":{"numFound":1,"start":0,"docs":[{"minted":"2013-09-20T17:29:35Z","datacentre_symbol":"CDL.DRYAD","xml":"PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHJlc291cmNlIHhtbG5zPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtMi4yIiB4bWxuczpkcnlhZD0iaHR0cDovL3B1cmwub3JnL2RyeWFkL3Rlcm1zLyIgeG1sbnM6ZGltPSJodHRwOi8vd3d3LmRzcGFjZS5vcmcveG1sbnMvZHNwYWNlL2RpbSIgeG1sbnM6ZHNwYWNlPSJodHRwOi8vd3d3LmRzcGFjZS5vcmcveG1sbnMvZHNwYWNlL2RpbSIgeG1sbnM6bWV0cz0iaHR0cDovL3d3dy5sb2MuZ292L01FVFMvIiB4bWxuczp4c2k9Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvWE1MU2NoZW1hLWluc3RhbmNlIiBtZXRhZGF0YVZlcnNpb25OdW1iZXI9IjEiIGxhc3RNZXRhZGF0YVVwZGF0ZT0iMjAwNi0wNS0wNCIgeHNpOnNjaGVtYUxvY2F0aW9uPSJodHRwOi8vZGF0YWNpdGUub3JnL3NjaGVtYS9rZXJuZWwtMi4yIGh0dHA6Ly9zY2hlbWEuZGF0YWNpdGUub3JnL21ldGEva2VybmVsLTIuMi9tZXRhZGF0YS54c2QiPgogIDxpZGVudGlmaWVyIGlkZW50aWZpZXJUeXBlPSJET0kiPjEwLjUwNjEvRFJZQUQuNzgxUFY8L2lkZW50aWZpZXI+CiAgPGNyZWF0b3JzPgogICAgPGNyZWF0b3I+CiAgICAgIDxjcmVhdG9yTmFtZT5QaXdvd2FyLCBIZWF0aGVyIEEuPC9jcmVhdG9yTmFtZT4KICAgIDwvY3JlYXRvcj4KICAgIDxjcmVhdG9yPgogICAgICA8Y3JlYXRvck5hbWU+VmlzaW9uLCBUb2RkIEouPC9jcmVhdG9yTmFtZT4KICAgIDwvY3JlYXRvcj4KICA8L2NyZWF0b3JzPgogIDx0aXRsZXM+CiAgICA8dGl0bGU+RGF0YSBmcm9tOiBEYXRhIHJldXNlIGFuZCB0aGUgb3BlbiBkYXRhIGNpdGF0aW9uIGFkdmFudGFnZTwvdGl0bGU+CiAgPC90aXRsZXM+CiAgPHB1Ymxpc2hlcj5EcnlhZCBEaWdpdGFsIFJlcG9zaXRvcnk8L3B1Ymxpc2hlcj4KICA8cHVibGljYXRpb25ZZWFyPjIwMTM8L3B1YmxpY2F0aW9uWWVhcj4KICA8c3ViamVjdHM+CiAgICA8c3ViamVjdD5CaW9pbmZvcm1hdGljczwvc3ViamVjdD4KICAgIDxzdWJqZWN0PlNjaWVuY2UgUG9saWN5PC9zdWJqZWN0PgogICAgPHN1YmplY3Q+RGF0YSByZXVzZTwvc3ViamVjdD4KICAgIDxzdWJqZWN0PkRhdGEgcmVwb3NpdG9yaWVzPC9zdWJqZWN0PgogICAgPHN1YmplY3Q+R2VuZSBleHByZXNzaW9uIG1pY3JvYXJyYXk8L3N1YmplY3Q+CiAgICA8c3ViamVjdD5JbmNlbnRpdmVzPC9zdWJqZWN0PgogICAgPHN1YmplY3Q+RGF0YSBhcmNoaXZpbmc8L3N1YmplY3Q+CiAgICA8c3ViamVjdD5PcGVuIGRhdGE8L3N1YmplY3Q+CiAgICA8c3ViamVjdD5CaWJsaW9tZXRyaWNzPC9zdWJqZWN0PgogICAgPHN1YmplY3Q+SW5mb3JtYXRpb24gc2NpZW5jZTwvc3ViamVjdD4KICA8L3N1YmplY3RzPgogIDxyZXNvdXJjZVR5cGUgcmVzb3VyY2VUeXBlR2VuZXJhbD0iRGF0YXNldCI+RGF0YVBhY2thZ2U8L3Jlc291cmNlVHlwZT4KICA8YWx0ZXJuYXRlSWRlbnRpZmllcnM+CiAgICA8YWx0ZXJuYXRlSWRlbnRpZmllciBhbHRlcm5hdGVJZGVudGlmaWVyVHlwZT0iY2l0YXRpb24iPlBpd293YXIgSEEsIFZpc2lvbiBUSiAoMjAxMykgRGF0YSByZXVzZSBhbmQgdGhlIG9wZW4gZGF0YSBjaXRhdGlvbiBhZHZhbnRhZ2UuIFBlZXJKIDE6IGUxNzUuPC9hbHRlcm5hdGVJZGVudGlmaWVyPgogIDwvYWx0ZXJuYXRlSWRlbnRpZmllcnM+CiAgPHJlbGF0ZWRJZGVudGlmaWVycz4KICAgIDxyZWxhdGVkSWRlbnRpZmllciByZWxhdGlvblR5cGU9Ikhhc1BhcnQiIHJlbGF0ZWRJZGVudGlmaWVyVHlwZT0iRE9JIj4xMC41MDYxL0RSWUFELjc4MVBWLzE8L3JlbGF0ZWRJZGVudGlmaWVyPgogICAgPHJlbGF0ZWRJZGVudGlmaWVyIHJlbGF0aW9uVHlwZT0iSGFzUGFydCIgcmVsYXRlZElkZW50aWZpZXJUeXBlPSJET0kiPjEwLjUwNjEvRFJZQUQuNzgxUFYvMjwvcmVsYXRlZElkZW50aWZpZXI+CiAgICA8cmVsYXRlZElkZW50aWZpZXIgcmVsYXRpb25UeXBlPSJIYXNQYXJ0IiByZWxhdGVkSWRlbnRpZmllclR5cGU9IkRPSSI+MTAuNTA2MS9EUllBRC43ODFQVi8zPC9yZWxhdGVkSWRlbnRpZmllcj4KICAgIDxyZWxhdGVkSWRlbnRpZmllciByZWxhdGlvblR5cGU9Ikhhc1BhcnQiIHJlbGF0ZWRJZGVudGlmaWVyVHlwZT0iRE9JIj4xMC41MDYxL0RSWUFELjc4MVBWLzQ8L3JlbGF0ZWRJZGVudGlmaWVyPgogICAgPHJlbGF0ZWRJZGVudGlmaWVyIHJlbGF0aW9uVHlwZT0iSGFzUGFydCIgcmVsYXRlZElkZW50aWZpZXJUeXBlPSJET0kiPjEwLjUwNjEvRFJZQUQuNzgxUFYvNTwvcmVsYXRlZElkZW50aWZpZXI+CiAgICA8cmVsYXRlZElkZW50aWZpZXIgcmVsYXRpb25UeXBlPSJIYXNQYXJ0IiByZWxhdGVkSWRlbnRpZmllclR5cGU9IkRPSSI+MTAuNTA2MS9EUllBRC43ODFQVi82PC9yZWxhdGVkSWRlbnRpZmllcj4KICAgIDxyZWxhdGVkSWRlbnRpZmllciByZWxhdGlvblR5cGU9Ikhhc1BhcnQiIHJlbGF0ZWRJZGVudGlmaWVyVHlwZT0iRE9JIj4xMC41MDYxL0RSWUFELjc4MVBWLzc8L3JlbGF0ZWRJZGVudGlmaWVyPgogICAgPHJlbGF0ZWRJZGVudGlmaWVyIHJlbGF0aW9uVHlwZT0iSGFzUGFydCIgcmVsYXRlZElkZW50aWZpZXJUeXBlPSJET0kiPjEwLjUwNjEvRFJZQUQuNzgxUFYvODwvcmVsYXRlZElkZW50aWZpZXI+CiAgICA8cmVsYXRlZElkZW50aWZpZXIgcmVsYXRpb25UeXBlPSJIYXNQYXJ0IiByZWxhdGVkSWRlbnRpZmllclR5cGU9IkRPSSI+MTAuNTA2MS9EUllBRC43ODFQVi85PC9yZWxhdGVkSWRlbnRpZmllcj4KICAgIDxyZWxhdGVkSWRlbnRpZmllciByZWxhdGlvblR5cGU9Ikhhc1BhcnQiIHJlbGF0ZWRJZGVudGlmaWVyVHlwZT0iRE9JIj4xMC41MDYxL0RSWUFELjc4MVBWLzEwPC9yZWxhdGVkSWRlbnRpZmllcj4KICAgIDxyZWxhdGVkSWRlbnRpZmllciByZWxhdGlvblR5cGU9Ikhhc1BhcnQiIHJlbGF0ZWRJZGVudGlmaWVyVHlwZT0iRE9JIj4xMC41MDYxL0RSWUFELjc4MVBWLzExPC9yZWxhdGVkSWRlbnRpZmllcj4KICAgIDxyZWxhdGVkSWRlbnRpZmllciByZWxhdGlvblR5cGU9Ikhhc1BhcnQiIHJlbGF0ZWRJZGVudGlmaWVyVHlwZT0iRE9JIj4xMC41MDYxL0RSWUFELjc4MVBWLzEyPC9yZWxhdGVkSWRlbnRpZmllcj4KICAgIDxyZWxhdGVkSWRlbnRpZmllciByZWxhdGlvblR5cGU9IklzUmVmZXJlbmNlZEJ5IiByZWxhdGVkSWRlbnRpZmllclR5cGU9IkRPSSI+MTAuNzcxNy9QRUVSSi4xNzU8L3JlbGF0ZWRJZGVudGlmaWVyPgogICAgPHJlbGF0ZWRJZGVudGlmaWVyIHJlbGF0aW9uVHlwZT0iSXNSZWZlcmVuY2VkQnkiIHJlbGF0ZWRJZGVudGlmaWVyVHlwZT0iRE9JIi8+CiAgPC9yZWxhdGVkSWRlbnRpZmllcnM+CiAgPHJpZ2h0cz5odHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9wdWJsaWNkb21haW4vemVyby8xLjAvPC9yaWdodHM+CjwvcmVzb3VyY2U+","datacentre":"CDL.DRYAD
|
40
|
+
- Dryad","updated":"2014-05-30T05:11:55Z","prefix":"10.5061","doi":"10.5061/DRYAD.781PV","relatedIdentifier":["HasPart:DOI:10.5061/DRYAD.781PV/1","HasPart:DOI:10.5061/DRYAD.781PV/2","HasPart:DOI:10.5061/DRYAD.781PV/3","HasPart:DOI:10.5061/DRYAD.781PV/4","HasPart:DOI:10.5061/DRYAD.781PV/5","HasPart:DOI:10.5061/DRYAD.781PV/6","HasPart:DOI:10.5061/DRYAD.781PV/7","HasPart:DOI:10.5061/DRYAD.781PV/8","HasPart:DOI:10.5061/DRYAD.781PV/9","HasPart:DOI:10.5061/DRYAD.781PV/10","HasPart:DOI:10.5061/DRYAD.781PV/11","HasPart:DOI:10.5061/DRYAD.781PV/12","IsReferencedBy:DOI:10.7717/PEERJ.175","IsReferencedBy:DOI:"],"creator":["Piwowar,
|
41
|
+
Heather A.","Vision, Todd J."],"publisher":"Dryad Digital Repository","title":["Data
|
42
|
+
from: Data reuse and the open data citation advantage"],"publicationYear":"2013","resourceTypeGeneral":"Dataset"}]}}
|
43
|
+
|
44
|
+
'
|
45
|
+
http_version:
|
46
|
+
recorded_at: Sun, 06 Nov 2016 17:39:42 GMT
|
47
|
+
recorded_with: VCR 3.0.3
|
@@ -0,0 +1,33 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<work:work xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:common="http://www.orcid.org/ns/common" xmlns:work="http://www.orcid.org/ns/work" visibility="public" xsi:schemaLocation="http://www.orcid.org/ns/work ../work-2.0_rc3.xsd">
|
3
|
+
<work:title>
|
4
|
+
<common:title>omniauth-orcid: v.1.1.5</common:title>
|
5
|
+
</work:title>
|
6
|
+
<work:journal-title>Zenodo</work:journal-title>
|
7
|
+
<work:short-description>onmiauth-orcid 1.1.5 was released on August 11, 2016 with the following changes: compatibility with omniauth-oauth2 1.4.0. Thanks to pull request #7 by eleanorakh.</work:short-description>
|
8
|
+
<work:type>other</work:type>
|
9
|
+
<common:publication-date>
|
10
|
+
<common:year>2016</common:year>
|
11
|
+
</common:publication-date>
|
12
|
+
<common:external-ids>
|
13
|
+
<common:external-id>
|
14
|
+
<common:external-id-type>doi</common:external-id-type>
|
15
|
+
<common:external-id-value>10.5281/zenodo.59983</common:external-id-value>
|
16
|
+
<common:external-id-relationship>self</common:external-id-relationship>
|
17
|
+
</common:external-id>
|
18
|
+
</common:external-ids>
|
19
|
+
<work:contributors>
|
20
|
+
<work:contributor>
|
21
|
+
<work:credit-name>Martin Fenner</work:credit-name>
|
22
|
+
</work:contributor>
|
23
|
+
<work:contributor>
|
24
|
+
<work:credit-name>Gudmundur A. Thorisson</work:credit-name>
|
25
|
+
</work:contributor>
|
26
|
+
<work:contributor>
|
27
|
+
<work:credit-name>Eleanor Kiefel Haggerty</work:credit-name>
|
28
|
+
</work:contributor>
|
29
|
+
<work:contributor>
|
30
|
+
<work:credit-name>Anusha Ranganathan</work:credit-name>
|
31
|
+
</work:contributor>
|
32
|
+
</work:contributors>
|
33
|
+
</work:work>
|
@@ -0,0 +1,42 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe OrcidClient::Notification, vcr: true do
|
4
|
+
let(:doi) { "10.5281/zenodo.59983"}
|
5
|
+
let(:orcid) { "0000-0001-6528-2027" }
|
6
|
+
let(:notification_access_token) { ENV['NOTIFICATION_ACCESS_TOKEN'] }
|
7
|
+
let(:fixture_path) { "spec/fixtures/" }
|
8
|
+
let(:samples_path) { "resources/notification_2.0_rc3/samples/" }
|
9
|
+
|
10
|
+
subject { OrcidClient::Notification.new(doi: doi, orcid: orcid, notification_access_token: notification_access_token) }
|
11
|
+
|
12
|
+
describe 'schema' do
|
13
|
+
it 'validates sample' do
|
14
|
+
validation_errors = subject.schema.validate(samples_path + 'notification-permission-2.0_rc3.xml').map { |error| error.to_s }
|
15
|
+
expect(validation_errors).to be_empty
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'exists' do
|
19
|
+
expect(subject.schema.errors).to be_empty
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'validates data' do
|
23
|
+
expect(subject.validation_errors).to be_empty
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'validates item type work' do
|
27
|
+
subject = OrcidClient::Notification.new(doi: "10.5061/DRYAD.781PV", orcid: "0000-0003-1613-5981", notification_access_token: notification_access_token)
|
28
|
+
expect(subject.item_type).to eq("work")
|
29
|
+
expect(subject.validation_errors).to be_empty
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'validates data with errors' do
|
33
|
+
allow(subject).to receive(:metadata) { {} }
|
34
|
+
expect(subject.validation_errors).to eq(["The document has no document element."])
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'data' do
|
39
|
+
doc = Nokogiri::XML(subject.data)
|
40
|
+
expect(doc.at_xpath('//notification:item-name').children.first.text).to eq("omniauth-orcid: v.1.1.5")
|
41
|
+
end
|
42
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'bundler/setup'
|
2
|
+
Bundler.setup
|
3
|
+
|
4
|
+
require 'simplecov'
|
5
|
+
SimpleCov.start
|
6
|
+
|
7
|
+
require 'orcid_client'
|
8
|
+
require 'maremma'
|
9
|
+
require 'rspec'
|
10
|
+
require 'rack/test'
|
11
|
+
require 'webmock/rspec'
|
12
|
+
require 'vcr'
|
13
|
+
|
14
|
+
RSpec.configure do |config|
|
15
|
+
config.include WebMock::API
|
16
|
+
config.include Rack::Test::Methods
|
17
|
+
config.expect_with :rspec do |c|
|
18
|
+
c.syntax = :expect
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
VCR.configure do |c|
|
23
|
+
c.cassette_library_dir = "spec/fixtures/vcr_cassettes"
|
24
|
+
c.hook_into :webmock
|
25
|
+
c.ignore_localhost = true
|
26
|
+
c.ignore_hosts 'codeclimate.com'
|
27
|
+
c.filter_sensitive_data("<ORCID_CLIENT_ID>") { ENV["ORCID_CLIENT_ID"] }
|
28
|
+
c.filter_sensitive_data("<ORCID_CLIENT_SECRET>") { ENV["ORCID_CLIENT_SECRET"] }
|
29
|
+
c.filter_sensitive_data("<ACCESS_TOKEN>") { ENV["ACCESS_TOKEN"] }
|
30
|
+
c.filter_sensitive_data("<NOTIFICATION_ACCESS_TOKEN>") { ENV["NOTIFICATION_ACCESS_TOKEN"] }
|
31
|
+
c.configure_rspec_metadata!
|
32
|
+
end
|
data/spec/work_spec.rb
ADDED
@@ -0,0 +1,100 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe OrcidClient::Work, vcr: true do
|
4
|
+
let(:doi) { "10.5281/zenodo.59983"}
|
5
|
+
let(:orcid) { "0000-0001-6528-2027" }
|
6
|
+
let(:access_token) { ENV['ACCESS_TOKEN'] }
|
7
|
+
let(:fixture_path) { "spec/fixtures/" }
|
8
|
+
let(:samples_path) { "resources/record_2.0_rc3/samples/" }
|
9
|
+
|
10
|
+
subject { OrcidClient::Work.new(doi: doi, orcid: orcid, access_token: access_token) }
|
11
|
+
|
12
|
+
describe 'schema' do
|
13
|
+
it 'validates sample' do
|
14
|
+
validation_errors = subject.schema.validate(samples_path + 'work-full-2.0_rc3.xml').map { |error| error.to_s }
|
15
|
+
expect(validation_errors).to be_empty
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'exists' do
|
19
|
+
expect(subject.schema.errors).to be_empty
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'validates data' do
|
23
|
+
expect(subject.validation_errors).to be_empty
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'validates work type data-set' do
|
27
|
+
subject = OrcidClient::Work.new(doi: "10.5061/DRYAD.781PV", orcid: "0000-0003-1613-5981", access_token: access_token)
|
28
|
+
expect(subject.type).to eq("data-set")
|
29
|
+
expect(subject.validation_errors).to be_empty
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'validates ORCID IDs for contributors' do
|
33
|
+
subject = OrcidClient::Work.new(doi: "10.2314/COSCV1", orcid: "0000-0001-6528-2027", access_token: access_token)
|
34
|
+
expect(subject.validation_errors).to be_empty
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'validates data with errors' do
|
38
|
+
allow(subject).to receive(:metadata) { {} }
|
39
|
+
expect(subject.validation_errors).to eq(["The document has no document element."])
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
describe 'contributors' do
|
44
|
+
it 'valid' do
|
45
|
+
expect(subject.contributors).to eq([{:credit_name=>"Martin Fenner"},
|
46
|
+
{:credit_name=>"Gudmundur A. Thorisson"},
|
47
|
+
{:credit_name=>"Eleanor Kiefel Haggerty"},
|
48
|
+
{:credit_name=>"Anusha Ranganathan"}])
|
49
|
+
end
|
50
|
+
|
51
|
+
it 'literal' do
|
52
|
+
subject = OrcidClient::Work.new(doi: "10.1594/PANGAEA.745083", orcid: "0000-0003-3235-5933", access_token: access_token)
|
53
|
+
expect(subject.contributors).to eq([{:credit_name=>"EPOCA Arctic experiment 2009 team"}])
|
54
|
+
end
|
55
|
+
|
56
|
+
it 'with ORCID IDs' do
|
57
|
+
subject = OrcidClient::Work.new(doi: "10.2314/COSCV1", orcid: "0000-0001-6528-2027", access_token: access_token)
|
58
|
+
expect(subject.contributors).to eq([{:orcid=>"http://orcid.org/0000-0003-0232-7085",
|
59
|
+
:credit_name=>"Lambert Heller"},
|
60
|
+
{:orcid=>"http://orcid.org/0000-0002-3075-7640",
|
61
|
+
:credit_name=>"Ina Blümel"},
|
62
|
+
{:credit_name=>"Stefan Dietze"},
|
63
|
+
{:orcid=>"http://orcid.org/0000-0003-1419-2405",
|
64
|
+
:credit_name=>"Martin Fenner"},
|
65
|
+
{:orcid=>"http://orcid.org/0000-0002-9314-5633",
|
66
|
+
:credit_name=>"Sascha Friesike"},
|
67
|
+
{:orcid=>"http://orcid.org/0000-0003-2499-7741",
|
68
|
+
:credit_name=>"Christian Hauschke"},
|
69
|
+
{:credit_name=>"Christian Heise"},
|
70
|
+
{:orcid=>"http://orcid.org/0000-0003-3271-9653",
|
71
|
+
:credit_name=>"Robert Jäschke"},
|
72
|
+
{:orcid=>"http://orcid.org/0000-0002-9813-9208",
|
73
|
+
:credit_name=>"Ulrich Kleinwechter"},
|
74
|
+
{:orcid=>"http://orcid.org/0000-0002-8189-8574",
|
75
|
+
:credit_name=>"Mareike König"},
|
76
|
+
{:orcid=>"http://orcid.org/0000-0002-7177-9045",
|
77
|
+
:credit_name=>"Martin Mehlberg"},
|
78
|
+
{:orcid=>"http://orcid.org/0000-0002-0161-1888",
|
79
|
+
:credit_name=>"Janna Neumann"},
|
80
|
+
{:orcid=>"http://orcid.org/0000-0003-3334-2771",
|
81
|
+
:credit_name=>"Heinz Pampel"},
|
82
|
+
{:orcid=>"http://orcid.org/0000-0002-5111-2788",
|
83
|
+
:credit_name=>"Marco Tullney"}])
|
84
|
+
end
|
85
|
+
|
86
|
+
it 'multiple titles' do
|
87
|
+
subject = OrcidClient::Work.new(doi: "10.6084/M9.FIGSHARE.1537331.V1", orcid: "0000-0003-0811-2536", access_token: access_token)
|
88
|
+
expect(subject.contributors).to eq([{:credit_name=>"Iosr journals"}, {:credit_name=>"Dr. Rohit Arora, MDS"}, {:credit_name=>"Shalya Raj*.MDS"}])
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
it 'publication_date' do
|
93
|
+
expect(subject.publication_date).to eq("year" => 2016)
|
94
|
+
end
|
95
|
+
|
96
|
+
it 'data' do
|
97
|
+
xml = File.read(fixture_path + 'work.xml')
|
98
|
+
expect(subject.data).to eq(xml)
|
99
|
+
end
|
100
|
+
end
|
metadata
ADDED
@@ -0,0 +1,392 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: orcid_client
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: '0.1'
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Martin Fenner
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-11-18 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: maremma
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '2.5'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '2.5'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: nokogiri
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - "~>"
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 1.6.8
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - "~>"
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 1.6.8
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: builder
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '3.2'
|
48
|
+
- - ">="
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: 3.2.2
|
51
|
+
type: :runtime
|
52
|
+
prerelease: false
|
53
|
+
version_requirements: !ruby/object:Gem::Requirement
|
54
|
+
requirements:
|
55
|
+
- - "~>"
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: '3.2'
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: 3.2.2
|
61
|
+
- !ruby/object:Gem::Dependency
|
62
|
+
name: namae
|
63
|
+
requirement: !ruby/object:Gem::Requirement
|
64
|
+
requirements:
|
65
|
+
- - "~>"
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
version: 0.10.1
|
68
|
+
type: :runtime
|
69
|
+
prerelease: false
|
70
|
+
version_requirements: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - "~>"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: 0.10.1
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: activesupport
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - "~>"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '4.2'
|
82
|
+
- - ">="
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: 4.2.5
|
85
|
+
type: :runtime
|
86
|
+
prerelease: false
|
87
|
+
version_requirements: !ruby/object:Gem::Requirement
|
88
|
+
requirements:
|
89
|
+
- - "~>"
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: '4.2'
|
92
|
+
- - ">="
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: 4.2.5
|
95
|
+
- !ruby/object:Gem::Dependency
|
96
|
+
name: sanitize
|
97
|
+
requirement: !ruby/object:Gem::Requirement
|
98
|
+
requirements:
|
99
|
+
- - "~>"
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '4.0'
|
102
|
+
- - ">="
|
103
|
+
- !ruby/object:Gem::Version
|
104
|
+
version: 4.0.1
|
105
|
+
type: :runtime
|
106
|
+
prerelease: false
|
107
|
+
version_requirements: !ruby/object:Gem::Requirement
|
108
|
+
requirements:
|
109
|
+
- - "~>"
|
110
|
+
- !ruby/object:Gem::Version
|
111
|
+
version: '4.0'
|
112
|
+
- - ">="
|
113
|
+
- !ruby/object:Gem::Version
|
114
|
+
version: 4.0.1
|
115
|
+
- !ruby/object:Gem::Dependency
|
116
|
+
name: dotenv
|
117
|
+
requirement: !ruby/object:Gem::Requirement
|
118
|
+
requirements:
|
119
|
+
- - "~>"
|
120
|
+
- !ruby/object:Gem::Version
|
121
|
+
version: '2.1'
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 2.1.1
|
125
|
+
type: :runtime
|
126
|
+
prerelease: false
|
127
|
+
version_requirements: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - "~>"
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '2.1'
|
132
|
+
- - ">="
|
133
|
+
- !ruby/object:Gem::Version
|
134
|
+
version: 2.1.1
|
135
|
+
- !ruby/object:Gem::Dependency
|
136
|
+
name: bundler
|
137
|
+
requirement: !ruby/object:Gem::Requirement
|
138
|
+
requirements:
|
139
|
+
- - "~>"
|
140
|
+
- !ruby/object:Gem::Version
|
141
|
+
version: '1.0'
|
142
|
+
type: :development
|
143
|
+
prerelease: false
|
144
|
+
version_requirements: !ruby/object:Gem::Requirement
|
145
|
+
requirements:
|
146
|
+
- - "~>"
|
147
|
+
- !ruby/object:Gem::Version
|
148
|
+
version: '1.0'
|
149
|
+
- !ruby/object:Gem::Dependency
|
150
|
+
name: rspec
|
151
|
+
requirement: !ruby/object:Gem::Requirement
|
152
|
+
requirements:
|
153
|
+
- - "~>"
|
154
|
+
- !ruby/object:Gem::Version
|
155
|
+
version: '3.4'
|
156
|
+
type: :development
|
157
|
+
prerelease: false
|
158
|
+
version_requirements: !ruby/object:Gem::Requirement
|
159
|
+
requirements:
|
160
|
+
- - "~>"
|
161
|
+
- !ruby/object:Gem::Version
|
162
|
+
version: '3.4'
|
163
|
+
- !ruby/object:Gem::Dependency
|
164
|
+
name: rake
|
165
|
+
requirement: !ruby/object:Gem::Requirement
|
166
|
+
requirements:
|
167
|
+
- - ">="
|
168
|
+
- !ruby/object:Gem::Version
|
169
|
+
version: '0'
|
170
|
+
type: :development
|
171
|
+
prerelease: false
|
172
|
+
version_requirements: !ruby/object:Gem::Requirement
|
173
|
+
requirements:
|
174
|
+
- - ">="
|
175
|
+
- !ruby/object:Gem::Version
|
176
|
+
version: '0'
|
177
|
+
- !ruby/object:Gem::Dependency
|
178
|
+
name: rack-test
|
179
|
+
requirement: !ruby/object:Gem::Requirement
|
180
|
+
requirements:
|
181
|
+
- - "~>"
|
182
|
+
- !ruby/object:Gem::Version
|
183
|
+
version: '0'
|
184
|
+
type: :development
|
185
|
+
prerelease: false
|
186
|
+
version_requirements: !ruby/object:Gem::Requirement
|
187
|
+
requirements:
|
188
|
+
- - "~>"
|
189
|
+
- !ruby/object:Gem::Version
|
190
|
+
version: '0'
|
191
|
+
- !ruby/object:Gem::Dependency
|
192
|
+
name: vcr
|
193
|
+
requirement: !ruby/object:Gem::Requirement
|
194
|
+
requirements:
|
195
|
+
- - ">="
|
196
|
+
- !ruby/object:Gem::Version
|
197
|
+
version: '0'
|
198
|
+
type: :development
|
199
|
+
prerelease: false
|
200
|
+
version_requirements: !ruby/object:Gem::Requirement
|
201
|
+
requirements:
|
202
|
+
- - ">="
|
203
|
+
- !ruby/object:Gem::Version
|
204
|
+
version: '0'
|
205
|
+
- !ruby/object:Gem::Dependency
|
206
|
+
name: webmock
|
207
|
+
requirement: !ruby/object:Gem::Requirement
|
208
|
+
requirements:
|
209
|
+
- - "~>"
|
210
|
+
- !ruby/object:Gem::Version
|
211
|
+
version: '1.22'
|
212
|
+
- - ">="
|
213
|
+
- !ruby/object:Gem::Version
|
214
|
+
version: 1.22.3
|
215
|
+
type: :development
|
216
|
+
prerelease: false
|
217
|
+
version_requirements: !ruby/object:Gem::Requirement
|
218
|
+
requirements:
|
219
|
+
- - "~>"
|
220
|
+
- !ruby/object:Gem::Version
|
221
|
+
version: '1.22'
|
222
|
+
- - ">="
|
223
|
+
- !ruby/object:Gem::Version
|
224
|
+
version: 1.22.3
|
225
|
+
- !ruby/object:Gem::Dependency
|
226
|
+
name: codeclimate-test-reporter
|
227
|
+
requirement: !ruby/object:Gem::Requirement
|
228
|
+
requirements:
|
229
|
+
- - "~>"
|
230
|
+
- !ruby/object:Gem::Version
|
231
|
+
version: 1.0.0
|
232
|
+
type: :development
|
233
|
+
prerelease: false
|
234
|
+
version_requirements: !ruby/object:Gem::Requirement
|
235
|
+
requirements:
|
236
|
+
- - "~>"
|
237
|
+
- !ruby/object:Gem::Version
|
238
|
+
version: 1.0.0
|
239
|
+
- !ruby/object:Gem::Dependency
|
240
|
+
name: simplecov
|
241
|
+
requirement: !ruby/object:Gem::Requirement
|
242
|
+
requirements:
|
243
|
+
- - ">="
|
244
|
+
- !ruby/object:Gem::Version
|
245
|
+
version: '0'
|
246
|
+
type: :development
|
247
|
+
prerelease: false
|
248
|
+
version_requirements: !ruby/object:Gem::Requirement
|
249
|
+
requirements:
|
250
|
+
- - ">="
|
251
|
+
- !ruby/object:Gem::Version
|
252
|
+
version: '0'
|
253
|
+
description: Ruby client library for the ORCID API.
|
254
|
+
email: mfenner@datacite.org
|
255
|
+
executables: []
|
256
|
+
extensions: []
|
257
|
+
extra_rdoc_files:
|
258
|
+
- README.md
|
259
|
+
files:
|
260
|
+
- ".env.example"
|
261
|
+
- ".gitignore"
|
262
|
+
- ".travis.yml"
|
263
|
+
- CHANGELOG.md
|
264
|
+
- Gemfile
|
265
|
+
- Gemfile.lock
|
266
|
+
- LICENSE.md
|
267
|
+
- README.md
|
268
|
+
- Rakefile
|
269
|
+
- lib/orcid_client.rb
|
270
|
+
- lib/orcid_client/api.rb
|
271
|
+
- lib/orcid_client/author.rb
|
272
|
+
- lib/orcid_client/base.rb
|
273
|
+
- lib/orcid_client/date.rb
|
274
|
+
- lib/orcid_client/metadata.rb
|
275
|
+
- lib/orcid_client/notification.rb
|
276
|
+
- lib/orcid_client/version.rb
|
277
|
+
- lib/orcid_client/work.rb
|
278
|
+
- lib/orcid_client/work_type.rb
|
279
|
+
- orcid_client.gemspec
|
280
|
+
- resources/common_2.0_rc3/common-2.0_rc3.xsd
|
281
|
+
- resources/common_2.0_rc3/samples/common-2.0_rc3.xml
|
282
|
+
- resources/notification_2.0_rc3/notification-custom-2.0_rc3.xsd
|
283
|
+
- resources/notification_2.0_rc3/notification-permission-2.0_rc3.xsd
|
284
|
+
- resources/notification_2.0_rc3/samples/notification-custom-2.0_rc3.xml
|
285
|
+
- resources/notification_2.0_rc3/samples/notification-permission-2.0_rc3.xml
|
286
|
+
- resources/record_2.0_rc3/activities-2.0_rc3.xsd
|
287
|
+
- resources/record_2.0_rc3/address-2.0_rc3.xsd
|
288
|
+
- resources/record_2.0_rc3/bulk-2.0_rc3.xsd
|
289
|
+
- resources/record_2.0_rc3/deprecated-2.0_rc3.xsd
|
290
|
+
- resources/record_2.0_rc3/education-2.0_rc3.xsd
|
291
|
+
- resources/record_2.0_rc3/email-2.0_rc3.xsd
|
292
|
+
- resources/record_2.0_rc3/employment-2.0_rc3.xsd
|
293
|
+
- resources/record_2.0_rc3/error-2.0_rc3.xsd
|
294
|
+
- resources/record_2.0_rc3/funding-2.0_rc3.xsd
|
295
|
+
- resources/record_2.0_rc3/history-2.0_rc3.xsd
|
296
|
+
- resources/record_2.0_rc3/internal-2.0_rc3.xsd
|
297
|
+
- resources/record_2.0_rc3/keyword-2.0_rc3.xsd
|
298
|
+
- resources/record_2.0_rc3/other-name-2.0_rc3.xsd
|
299
|
+
- resources/record_2.0_rc3/peer-review-2.0_rc3.xsd
|
300
|
+
- resources/record_2.0_rc3/person-2.0_rc3.xsd
|
301
|
+
- resources/record_2.0_rc3/person-external-identifier-2.0_rc3.xsd
|
302
|
+
- resources/record_2.0_rc3/personal-details-2.0_rc3.xsd
|
303
|
+
- resources/record_2.0_rc3/preferences-2.0_rc3.xsd
|
304
|
+
- resources/record_2.0_rc3/record-2.0_rc3.xsd
|
305
|
+
- resources/record_2.0_rc3/researcher-url-2.0_rc3.xsd
|
306
|
+
- resources/record_2.0_rc3/samples/activities-2.0_rc3.xml
|
307
|
+
- resources/record_2.0_rc3/samples/address-2.0_rc3.xml
|
308
|
+
- resources/record_2.0_rc3/samples/addresses-2.0_rc3.xml
|
309
|
+
- resources/record_2.0_rc3/samples/biography-2.0_rc3.xml
|
310
|
+
- resources/record_2.0_rc3/samples/bulk-work-2.0_rc3.json
|
311
|
+
- resources/record_2.0_rc3/samples/bulk-work-2.0_rc3.xml
|
312
|
+
- resources/record_2.0_rc3/samples/credit-name-2.0_rc3.xml
|
313
|
+
- resources/record_2.0_rc3/samples/deprecated-2.0_rc3.xml
|
314
|
+
- resources/record_2.0_rc3/samples/education-2.0_rc3.xml
|
315
|
+
- resources/record_2.0_rc3/samples/education-full-2.0_rc3.xml
|
316
|
+
- resources/record_2.0_rc3/samples/email-2.0_rc3.xml
|
317
|
+
- resources/record_2.0_rc3/samples/emails-2.0_rc3.xml
|
318
|
+
- resources/record_2.0_rc3/samples/employment-2.0_rc3.xml
|
319
|
+
- resources/record_2.0_rc3/samples/employment-full-2.0_rc3.xml
|
320
|
+
- resources/record_2.0_rc3/samples/error-2.0_rc3.xml
|
321
|
+
- resources/record_2.0_rc3/samples/external-identifier-2.0_rc3.xml
|
322
|
+
- resources/record_2.0_rc3/samples/external-identifiers-2.0_rc3.xml
|
323
|
+
- resources/record_2.0_rc3/samples/funding-2.0_rc3.xml
|
324
|
+
- resources/record_2.0_rc3/samples/funding-full-2.0_rc3.xml
|
325
|
+
- resources/record_2.0_rc3/samples/history-2.0_rc3.xml
|
326
|
+
- resources/record_2.0_rc3/samples/keyword-2.0_rc3.xml
|
327
|
+
- resources/record_2.0_rc3/samples/keywords-2.0_rc3.xml
|
328
|
+
- resources/record_2.0_rc3/samples/name-2.0_rc3.xml
|
329
|
+
- resources/record_2.0_rc3/samples/other-name-2.0_rc3.xml
|
330
|
+
- resources/record_2.0_rc3/samples/other-names-2.0_rc3.xml
|
331
|
+
- resources/record_2.0_rc3/samples/peer-review-2.0_rc3.xml
|
332
|
+
- resources/record_2.0_rc3/samples/peer-review-full-2.0_rc3.xml
|
333
|
+
- resources/record_2.0_rc3/samples/person-2.0_rc3.xml
|
334
|
+
- resources/record_2.0_rc3/samples/personal-details-2.0_rc3.xml
|
335
|
+
- resources/record_2.0_rc3/samples/preferences-2.0_rc3.xml
|
336
|
+
- resources/record_2.0_rc3/samples/record-2.0_rc3.xml
|
337
|
+
- resources/record_2.0_rc3/samples/researcher-url-2.0_rc3.xml
|
338
|
+
- resources/record_2.0_rc3/samples/researcher-urls-2.0_rc3.xml
|
339
|
+
- resources/record_2.0_rc3/samples/search-2.0_rc3.xml
|
340
|
+
- resources/record_2.0_rc3/samples/work-2.0_rc3.xml
|
341
|
+
- resources/record_2.0_rc3/samples/work-full-2.0_rc3.xml
|
342
|
+
- resources/record_2.0_rc3/search-2.0_rc3.xsd
|
343
|
+
- resources/record_2.0_rc3/work-2.0_rc3.xsd
|
344
|
+
- spec/api_spec.rb
|
345
|
+
- spec/fixtures/vcr_cassettes/OrcidClient/get/should_get_works.yml
|
346
|
+
- spec/fixtures/vcr_cassettes/OrcidClient/notifications/post/should_create_notification.yml
|
347
|
+
- spec/fixtures/vcr_cassettes/OrcidClient/works/delete/should_delete_work.yml
|
348
|
+
- spec/fixtures/vcr_cassettes/OrcidClient/works/get/should_get_works.yml
|
349
|
+
- spec/fixtures/vcr_cassettes/OrcidClient/works/post/should_create_work.yml
|
350
|
+
- spec/fixtures/vcr_cassettes/OrcidClient/works/put/should_update_work.yml
|
351
|
+
- spec/fixtures/vcr_cassettes/OrcidClient_Notification/data.yml
|
352
|
+
- spec/fixtures/vcr_cassettes/OrcidClient_Notification/schema/validates_data.yml
|
353
|
+
- spec/fixtures/vcr_cassettes/OrcidClient_Notification/schema/validates_item_type_work.yml
|
354
|
+
- spec/fixtures/vcr_cassettes/OrcidClient_Work/citation.yml
|
355
|
+
- spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/literal.yml
|
356
|
+
- spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/multiple_titles.yml
|
357
|
+
- spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/valid.yml
|
358
|
+
- spec/fixtures/vcr_cassettes/OrcidClient_Work/contributors/with_ORCID_IDs.yml
|
359
|
+
- spec/fixtures/vcr_cassettes/OrcidClient_Work/data.yml
|
360
|
+
- spec/fixtures/vcr_cassettes/OrcidClient_Work/publication_date.yml
|
361
|
+
- spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_ORCID_IDs_for_contributors.yml
|
362
|
+
- spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_data.yml
|
363
|
+
- spec/fixtures/vcr_cassettes/OrcidClient_Work/schema/validates_work_type_data-set.yml
|
364
|
+
- spec/fixtures/work.xml
|
365
|
+
- spec/notification_spec.rb
|
366
|
+
- spec/spec_helper.rb
|
367
|
+
- spec/work_spec.rb
|
368
|
+
homepage: https://github.com/datacite/orcid_client
|
369
|
+
licenses:
|
370
|
+
- MIT
|
371
|
+
metadata: {}
|
372
|
+
post_install_message:
|
373
|
+
rdoc_options: []
|
374
|
+
require_paths:
|
375
|
+
- lib
|
376
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
377
|
+
requirements:
|
378
|
+
- - ">="
|
379
|
+
- !ruby/object:Gem::Version
|
380
|
+
version: '0'
|
381
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
382
|
+
requirements:
|
383
|
+
- - ">="
|
384
|
+
- !ruby/object:Gem::Version
|
385
|
+
version: '0'
|
386
|
+
requirements: []
|
387
|
+
rubyforge_project:
|
388
|
+
rubygems_version: 2.4.5
|
389
|
+
signing_key:
|
390
|
+
specification_version: 4
|
391
|
+
summary: Ruby client library for the ORCID API
|
392
|
+
test_files: []
|