orcid_client 0.1.3 → 0.1.4

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: 06aedf6fc89c166ce34cf962980c670b03002dc6
4
- data.tar.gz: 99915c37f16c28789753bdbd0e4ff7cc962d63c2
3
+ metadata.gz: 4029bf25df2ad75c7ae622f7ac356f1e87edbcba
4
+ data.tar.gz: 484dd8e735ac80dedb219487f29b4271205dec19
5
5
  SHA512:
6
- metadata.gz: 1f12959214bdabcc005dffc01d0171d3a513ecad5c200008d3e991ddad59bea309132e454f5963fd30934408bd0b02fdb60af391f737ffa42ddd927cdaa31b4b
7
- data.tar.gz: e59c507d30647c106c508ccd112c0054f41bc4bc7dc4d992d950f44178e7dda7fa29c953d5394b45b38e9a0590b8483fdb78aa2f08177008563a4c04ecdc5fd2
6
+ metadata.gz: 2412a070c7648ba1c4fe0d154ac9e2a1d3b782326d4e562d47ff1f6707304fd81b7ef6fd7f0cdd0707498e85e56804d725898f9e133603f99abba15d8b338691
7
+ data.tar.gz: 77e3a8897944889b34ffc617e07c4a8b5a35b42f9a789dc8050473fd93a2acd129b8d83ec61369f7fed7233160ff742fb189707e0148452ebe7542daf88611b7
data/Gemfile.lock CHANGED
@@ -1,11 +1,11 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- orcid_client (0.1.3)
4
+ orcid_client (0.1.4)
5
5
  activesupport (~> 4.2, >= 4.2.5)
6
6
  builder (~> 3.2, >= 3.2.2)
7
7
  dotenv (~> 2.1, >= 2.1.1)
8
- maremma (~> 2.5)
8
+ maremma (~> 3.0)
9
9
  namae (~> 0.10.1)
10
10
  nokogiri (~> 1.6.8)
11
11
  sanitize (~> 4.0, >= 4.0.1)
@@ -37,10 +37,10 @@ GEM
37
37
  faraday
38
38
  faraday_middleware (0.10.1)
39
39
  faraday (>= 0.7.4, < 1.0)
40
- hashdiff (0.3.0)
40
+ hashdiff (0.3.1)
41
41
  i18n (0.7.0)
42
42
  json (1.8.3)
43
- maremma (2.5.3)
43
+ maremma (3.0.1)
44
44
  activesupport (~> 4.2, >= 4.2.5)
45
45
  builder (~> 3.2, >= 3.2.2)
46
46
  excon (~> 0.45.0)
@@ -20,8 +20,9 @@ module OrcidClient
20
20
 
21
21
  url = "#{orcid_api_url}/v#{API_VERSION}/#{orcid}/work"
22
22
  response = Maremma.post(url, content_type: 'application/vnd.orcid+xml', data: data, bearer: access_token)
23
- put_code = response.fetch("headers", {}).fetch("Location", "").split("/").last
24
- response.merge("put_code" => put_code.present? ? put_code.to_i : nil)
23
+ put_code = response.headers.fetch("Location", "").split("/").last
24
+ response.body["put_code"] = put_code.present? ? put_code.to_i : nil
25
+ response
25
26
  end
26
27
 
27
28
  def update_work(options={})
@@ -32,8 +33,9 @@ module OrcidClient
32
33
 
33
34
  url = "#{orcid_api_url}/v#{API_VERSION}/#{orcid}/work/#{put_code}"
34
35
  response = Maremma.put(url, content_type: 'application/vnd.orcid+xml', data: data, bearer: access_token)
35
- put_code = response.fetch("headers", {}).fetch("Location", "").split("/").last
36
- response.merge("put_code" => put_code.present? ? put_code.to_i : nil)
36
+ put_code = response.headers.fetch("Location", "").split("/").last
37
+ response.body["put_code"] = put_code.present? ? put_code.to_i : nil
38
+ response
37
39
  end
38
40
 
39
41
  def delete_work(options={})
@@ -66,8 +68,9 @@ module OrcidClient
66
68
 
67
69
  url = "#{orcid_api_url}/v#{API_VERSION}/#{orcid}/notification-permission"
68
70
  response = Maremma.post(url, content_type: 'application/vnd.orcid+xml', data: data, bearer: notification_access_token)
69
- put_code = response.fetch("headers", {}).fetch("Location", "").split("/").last
70
- response.merge("put_code" => put_code.present? ? put_code.to_i : nil)
71
+ put_code = response.headers.fetch("Location", "").split("/").last
72
+ response.body["put_code"] = put_code.present? ? put_code.to_i : nil
73
+ response
71
74
  end
72
75
  end
73
76
  end
@@ -15,9 +15,9 @@ module OrcidClient
15
15
 
16
16
  url = "http://api.crossref.org/works/" + PostRank::URI.escape(doi)
17
17
  response = Maremma.get(url, options.merge(host: true))
18
- return response if response["errors"]
18
+ return response if response.body["errors"]
19
19
 
20
- metadata = response.fetch("data", {}).fetch("message", {})
20
+ metadata = response.body.fetch("data", {}).fetch("message", {})
21
21
  return { "errors" => [{ "title" => "Not found.", "status" => 404 }] } if metadata.blank?
22
22
 
23
23
  date_parts = metadata.fetch("issued", {}).fetch("date-parts", []).first
@@ -56,9 +56,9 @@ module OrcidClient
56
56
  wt: "json" }
57
57
  url = "http://search.datacite.org/api?" + URI.encode_www_form(params)
58
58
  response = Maremma.get(url, options)
59
- return response if response["errors"]
59
+ return response if response.body["errors"]
60
60
 
61
- metadata = response.fetch("data", {}).fetch("response", {}).fetch("docs", []).first
61
+ metadata = response.body.fetch("data", {}).fetch("response", {}).fetch("docs", []).first
62
62
  return { "errors" => [{ "title" => "Not found.", "status" => 404 }] } if metadata.blank?
63
63
 
64
64
  doi = metadata.fetch("doi", nil)
@@ -88,9 +88,9 @@ module OrcidClient
88
88
 
89
89
  url = "http://pub.orcid.org/v1.2/#{orcid}/orcid-bio"
90
90
  response = Maremma.get(url, options)
91
- return response if response["errors"]
91
+ return response if response.body["errors"]
92
92
 
93
- metadata = response.fetch("data", {}).fetch("orcid_message", {}).fetch("orcid_profile", nil)
93
+ metadata = response.body.fetch("data", {}).fetch("orcid_message", {}).fetch("orcid_profile", nil)
94
94
  metadata.extend Hashie::Extensions::DeepFetch
95
95
 
96
96
  personal_details = metadata.deep_fetch("orcid_bio", "personal_details") { {} }
@@ -115,9 +115,9 @@ module OrcidClient
115
115
 
116
116
  url = "http://doi.crossref.org/doiRA/" + CGI.unescape(doi)
117
117
  response = Maremma.get(url, options.merge(host: true))
118
- return response if response["errors"]
118
+ return response if response.body["errors"]
119
119
 
120
- ra = response.fetch("data", {}).first.fetch("RA", nil)
120
+ ra = response.body.fetch("data", {}).first.fetch("RA", nil)
121
121
  if ra.present?
122
122
  ra.delete(' ').downcase
123
123
  else
@@ -1,3 +1,3 @@
1
1
  module OrcidClient
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
data/orcid_client.gemspec CHANGED
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
19
19
  s.require_paths = ["lib"]
20
20
 
21
21
  # Declary dependencies here, rather than in the Gemfile
22
- s.add_dependency 'maremma', '~> 2.5'
22
+ s.add_dependency 'maremma', '~> 3.0'
23
23
  s.add_dependency 'nokogiri', '~> 1.6.8'
24
24
  s.add_dependency 'builder', '~> 3.2', '>= 3.2.2'
25
25
  s.add_dependency 'namae', '~> 0.10.1'
data/spec/api_spec.rb CHANGED
@@ -16,14 +16,15 @@ describe OrcidClient, vcr: true do
16
16
 
17
17
  it 'should create work' do
18
18
  response = subject.create_work(sandbox: true)
19
- expect(response["put_code"]).not_to be_blank
19
+ expect(response.body["put_code"]).not_to be_blank
20
+ expect(response.status).to eq(201)
20
21
  end
21
22
  end
22
23
 
23
24
  describe 'get' do
24
25
  it 'should get works' do
25
26
  response = subject.get_works(sandbox: true)
26
- works = response.fetch("data", {}).fetch("group", {})
27
+ works = response.body.fetch("data", {}).fetch("group", {})
27
28
  expect(works.length).to eq(27)
28
29
  work = works.first
29
30
  expect(work["external-ids"]).to eq("external-id"=>[{"external-id-type"=>"doi", "external-id-value"=>"10.5167/UZH-19531", "external-id-url"=>nil, "external-id-relationship"=>"SELF"}])
@@ -33,15 +34,17 @@ describe OrcidClient, vcr: true do
33
34
  describe 'put' do
34
35
  it 'should update work' do
35
36
  response = subject.update_work(sandbox: true)
36
- expect(response.fetch("data", {}).fetch("work", {}).fetch("put_code", nil)).to eq(put_code)
37
+ expect(response.body.fetch("data", {}).fetch("work", {}).fetch("put_code", nil)).to eq(put_code)
38
+ expect(response.status).to eq(200)
37
39
  end
38
40
  end
39
41
 
40
42
  describe 'delete' do
41
43
  it 'should delete work' do
42
44
  response = subject.delete_work(sandbox: true)
43
- expect(response["data"]).to be_blank
44
- expect(response["errors"]).to be_nil
45
+ expect(response.body["data"]).to be_blank
46
+ expect(response.body["errors"]).to be_nil
47
+ expect(response.status).to eq(204)
45
48
  end
46
49
  end
47
50
  end
@@ -52,7 +55,8 @@ describe OrcidClient, vcr: true do
52
55
  describe 'post' do
53
56
  it 'should create notification' do
54
57
  response = subject.create_notification(sandbox: true)
55
- expect(response["put_code"]).not_to be_blank
58
+ expect(response.body["put_code"]).not_to be_blank
59
+ expect(response.status).to eq(201)
56
60
  end
57
61
  end
58
62
  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.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martin Fenner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-11-22 00:00:00.000000000 Z
11
+ date: 2016-11-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: maremma
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.5'
19
+ version: '3.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '2.5'
26
+ version: '3.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: nokogiri
29
29
  requirement: !ruby/object:Gem::Requirement