orcid_client 0.2.2 → 0.2.3
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 +4 -4
- data/Gemfile.lock +2 -2
- data/lib/orcid_client/author.rb +6 -1
- data/lib/orcid_client/version.rb +1 -1
- data/lib/orcid_client/work.rb +1 -1
- data/spec/author_spec.rb +38 -0
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: eeaf7b53eebf7c7877d24e9fc458a7a6a307032d
|
4
|
+
data.tar.gz: 65e9b253be1606b55d93d8eabddf834a2a10ef7a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 996e7dcb216b8568c2823c7fdbd11abcc84bba831b46e34e0040b79f38d923f0f921a2313c6f478abdfda8f3c533b34d869766482d9b225cfd8a36edce31b80c
|
7
|
+
data.tar.gz: 87d4e73f8a67f2a670f5d9b4d1757480c2a1a8a2236b29636c7e3cf62f39b1c57cf03779c38728d4640ff5803bf6940875e9a947e79d780e5d15b35ffe1e6abb
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
orcid_client (0.2.
|
4
|
+
orcid_client (0.2.3)
|
5
5
|
activesupport (~> 4.2, >= 4.2.5)
|
6
6
|
builder (~> 3.2, >= 3.2.2)
|
7
7
|
dotenv (~> 2.1, >= 2.1.1)
|
@@ -113,4 +113,4 @@ DEPENDENCIES
|
|
113
113
|
webmock (~> 1.22, >= 1.22.3)
|
114
114
|
|
115
115
|
BUNDLED WITH
|
116
|
-
1.
|
116
|
+
1.12.5
|
data/lib/orcid_client/author.rb
CHANGED
@@ -2,6 +2,11 @@ require 'namae'
|
|
2
2
|
|
3
3
|
module OrcidClient
|
4
4
|
module Author
|
5
|
+
def validate_orcid(orcid)
|
6
|
+
orcid = Array(/\A(?:http:\/\/orcid\.org\/)?(\d{4}[[:space:]-]\d{4}[[:space:]-]\d{4}[[:space:]-]\d{3}[0-9X]+)\z/.match(orcid)).last
|
7
|
+
orcid.gsub(/[[:space:]]/, "-") if orcid.present?
|
8
|
+
end
|
9
|
+
|
5
10
|
# parse author string into CSL format
|
6
11
|
def get_one_author(author)
|
7
12
|
return "" if author.blank?
|
@@ -38,7 +43,7 @@ module OrcidClient
|
|
38
43
|
def get_name_identifier(author)
|
39
44
|
name_identifier = author.fetch("nameIdentifier", nil)
|
40
45
|
name_identifier_scheme = author.fetch("nameIdentifierScheme", "orcid").downcase
|
41
|
-
if
|
46
|
+
if name_identifier_scheme == "orcid" && name_identifier = validate_orcid(name_identifier)
|
42
47
|
"http://orcid.org/#{name_identifier}"
|
43
48
|
else
|
44
49
|
nil
|
data/lib/orcid_client/version.rb
CHANGED
data/lib/orcid_client/work.rb
CHANGED
data/spec/author_spec.rb
ADDED
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe OrcidClient, 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(:notification_access_token) { ENV['NOTIFICATION_ACCESS_TOKEN'] }
|
8
|
+
let(:put_code) { "740616" }
|
9
|
+
let(:fixture_path) { "spec/fixtures/" }
|
10
|
+
|
11
|
+
subject { OrcidClient::Work.new(doi: doi, orcid: orcid, access_token: access_token, put_code: put_code) }
|
12
|
+
|
13
|
+
context "validate_orcid" do
|
14
|
+
it "validate_orcid" do
|
15
|
+
orcid = "http://orcid.org/0000-0002-2590-225X"
|
16
|
+
response = subject.validate_orcid(orcid)
|
17
|
+
expect(response).to eq("0000-0002-2590-225X")
|
18
|
+
end
|
19
|
+
|
20
|
+
it "validate_orcid id" do
|
21
|
+
orcid = "0000-0002-2590-225X"
|
22
|
+
response = subject.validate_orcid(orcid)
|
23
|
+
expect(response).to eq("0000-0002-2590-225X")
|
24
|
+
end
|
25
|
+
|
26
|
+
it "validate_orcid with spaces" do
|
27
|
+
orcid = "0000 0002 1394 3097"
|
28
|
+
response = subject.validate_orcid(orcid)
|
29
|
+
expect(response).to eq("0000-0002-1394-3097")
|
30
|
+
end
|
31
|
+
|
32
|
+
it "validate_orcid wrong id" do
|
33
|
+
orcid = "0000-0002-1394-309"
|
34
|
+
response = subject.validate_orcid(orcid)
|
35
|
+
expect(response).to be_nil
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: orcid_client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Martin Fenner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-02-
|
11
|
+
date: 2017-02-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: maremma
|
@@ -343,6 +343,7 @@ files:
|
|
343
343
|
- resources/record_2.0_rc3/search-2.0_rc3.xsd
|
344
344
|
- resources/record_2.0_rc3/work-2.0_rc3.xsd
|
345
345
|
- spec/api_spec.rb
|
346
|
+
- spec/author_spec.rb
|
346
347
|
- spec/external_identifier_spec.rb
|
347
348
|
- spec/fixtures/external_identifier.xml
|
348
349
|
- spec/fixtures/vcr_cassettes/OrcidClient/external_identifier/delete/should_delete_external_identifier.yml
|