identity-api-client 0.0.3 → 0.1.0
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 +5 -5
- data/README.md +3 -1
- data/VERSION +1 -1
- data/identity-api-client.gemspec +4 -4
- data/lib/identity-api-client/member.rb +9 -2
- data/spec/member_spec.rb +24 -2
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 5c382b4b4ffb648c0649aadf483cc2e43aa72c92143eeb80539e791fa490bca9
|
4
|
+
data.tar.gz: 2112e6b70bb6021b5766c981ce5dc37a7bac513496ff2776fe65f501fe873ce9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 14a03f21ffac4facbf76406e46da832d2bca80c0806e3a03facebc52aefed86ee86376e4fd6bb7793807a78b96800e5731c0f1462fe308f9148ded48be752967
|
7
|
+
data.tar.gz: 331f0e57209dfcf3ac7577dcd5a49c3fa46992fc728ed1521fd2ef677e59d91075280381954a9302229ded3b3d4b5cee987bca3cc37a77a5b2c3f4be4520edc1
|
data/README.md
CHANGED
@@ -14,9 +14,11 @@ This api client is distributed as a ruby gem.
|
|
14
14
|
|
15
15
|
```ruby
|
16
16
|
identity = IdentityApiClient.new(host: 'id.test.com', api_token: 'abc123')
|
17
|
-
person = identity.member.details('abc123')
|
17
|
+
person = identity.member.details('abc123', load_current_consents: true)
|
18
18
|
person.first_name
|
19
19
|
=> 'Jane'
|
20
20
|
person.last_name
|
21
21
|
=> 'Smith'
|
22
|
+
person.consents.first.public_id
|
23
|
+
=> 'terms_of_service_1.0'
|
22
24
|
```
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0
|
1
|
+
0.1.0
|
data/identity-api-client.gemspec
CHANGED
@@ -2,16 +2,16 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Juwelier::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: identity-api-client 0.0
|
5
|
+
# stub: identity-api-client 0.1.0 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "identity-api-client".freeze
|
9
|
-
s.version = "0.0
|
9
|
+
s.version = "0.1.0"
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib".freeze]
|
13
13
|
s.authors = ["Nathan Woodhull".freeze]
|
14
|
-
s.date = "2018-
|
14
|
+
s.date = "2018-09-04"
|
15
15
|
s.description = "Provides a simple ruby binding to 38dgs identity API".freeze
|
16
16
|
s.email = "nathan@controlshiftlabs.com".freeze
|
17
17
|
s.extra_rdoc_files = [
|
@@ -43,7 +43,7 @@ Gem::Specification.new do |s|
|
|
43
43
|
]
|
44
44
|
s.homepage = "http://github.com/controlshift/identity-api-client".freeze
|
45
45
|
s.licenses = ["MIT".freeze]
|
46
|
-
s.rubygems_version = "2.6
|
46
|
+
s.rubygems_version = "2.7.6".freeze
|
47
47
|
s.summary = "API Client for 38 Degree's Identity API".freeze
|
48
48
|
|
49
49
|
if s.respond_to? :specification_version then
|
@@ -1,7 +1,14 @@
|
|
1
1
|
module IdentityApiClient
|
2
2
|
class Member < Base
|
3
|
-
def details(guid, load_current_consents: false)
|
4
|
-
|
3
|
+
def details(guid: nil, email: nil, load_current_consents: false)
|
4
|
+
if guid.present?
|
5
|
+
params = {'guid' => guid, 'api_token' => client.connection.configuration.options[:api_token]}
|
6
|
+
elsif email.present?
|
7
|
+
params = {'email' => email, 'api_token' => client.connection.configuration.options[:api_token]}
|
8
|
+
else
|
9
|
+
raise "Must have one of guid or email"
|
10
|
+
end
|
11
|
+
|
5
12
|
if load_current_consents
|
6
13
|
params['load_current_consents'] = true
|
7
14
|
end
|
data/spec/member_spec.rb
CHANGED
@@ -5,6 +5,14 @@ describe IdentityApiClient::Member do
|
|
5
5
|
|
6
6
|
let(:request_path) { '/api/member/details' }
|
7
7
|
|
8
|
+
describe 'failure' do
|
9
|
+
context "with no email or guid passed" do
|
10
|
+
it "should raise error" do
|
11
|
+
expect { subject.member.details() }.to raise_error "Must have one of guid or email"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
8
16
|
describe 'success' do
|
9
17
|
let(:status) { 200 }
|
10
18
|
|
@@ -18,7 +26,7 @@ describe IdentityApiClient::Member do
|
|
18
26
|
let(:body) { fixture('details.json') }
|
19
27
|
|
20
28
|
it 'should get member details back from the API' do
|
21
|
-
resp = subject.member.details('abcdef1234567890')
|
29
|
+
resp = subject.member.details(guid: 'abcdef1234567890')
|
22
30
|
|
23
31
|
expect(resp.first_name).to eq('Joe')
|
24
32
|
expect(resp.last_name).to eq('Bloggs')
|
@@ -26,12 +34,13 @@ describe IdentityApiClient::Member do
|
|
26
34
|
end
|
27
35
|
end
|
28
36
|
|
37
|
+
|
29
38
|
context 'with load_current_consents' do
|
30
39
|
let(:expected_request) { {'guid' => 'abcdef1234567890', 'api_token' => '1234567890abcdef', 'load_current_consents' => true}.to_json }
|
31
40
|
let(:body) { fixture('details_with_consents.json') }
|
32
41
|
|
33
42
|
it 'should get member details with consents back from the API' do
|
34
|
-
resp = subject.member.details('abcdef1234567890', load_current_consents: true)
|
43
|
+
resp = subject.member.details(guid: 'abcdef1234567890', load_current_consents: true)
|
35
44
|
|
36
45
|
expect(resp.first_name).to eq('Joe')
|
37
46
|
expect(resp.last_name).to eq('Bloggs')
|
@@ -41,6 +50,19 @@ describe IdentityApiClient::Member do
|
|
41
50
|
expect(resp.consents[0].public_id).to eq 'terms_of_service_1.0'
|
42
51
|
end
|
43
52
|
end
|
53
|
+
|
54
|
+
context 'with email passed' do
|
55
|
+
let(:expected_request) { {'email' => 'test@example.com', 'api_token' => '1234567890abcdef'}.to_json }
|
56
|
+
let(:body) { fixture('details.json') }
|
57
|
+
|
58
|
+
it 'should get member details back from the API' do
|
59
|
+
resp = subject.member.details(email: 'test@example.com')
|
60
|
+
|
61
|
+
expect(resp.first_name).to eq('Joe')
|
62
|
+
expect(resp.last_name).to eq('Bloggs')
|
63
|
+
expect(resp.email).to eq('joe@bloggs.com')
|
64
|
+
end
|
65
|
+
end
|
44
66
|
end
|
45
67
|
end
|
46
68
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: identity-api-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nathan Woodhull
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-09-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: vertebrae
|
@@ -185,7 +185,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
185
185
|
version: '0'
|
186
186
|
requirements: []
|
187
187
|
rubyforge_project:
|
188
|
-
rubygems_version: 2.6
|
188
|
+
rubygems_version: 2.7.6
|
189
189
|
signing_key:
|
190
190
|
specification_version: 4
|
191
191
|
summary: API Client for 38 Degree's Identity API
|