identity-api-client 0.1.3 → 1.0.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 +4 -4
- data/.github/workflows/ci.yml +25 -0
- data/.gitignore +53 -0
- data/.rubocop.yml +24 -0
- data/.ruby-version +1 -1
- data/Gemfile +3 -14
- data/README.md +2 -2
- data/Rakefile +0 -15
- data/VERSION +1 -1
- data/identity-api-client.gemspec +24 -78
- data/lib/identity-api-client/member.rb +2 -0
- metadata +40 -58
- data/.travis.yml +0 -3
- data/spec/client_spec.rb +0 -19
- data/spec/fixtures/details.json +0 -1
- data/spec/fixtures/details_with_consents.json +0 -18
- data/spec/member_spec.rb +0 -69
- data/spec/spec_helper.rb +0 -42
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c28ba9f6acb6b2304ae2503bb51bc18f01fd0806e5f37cd0ea1ceb9ca69c2e55
|
|
4
|
+
data.tar.gz: c5a48d066dd84a7c2354bf98e158ea9c70ec31edbce69250f88a614a8a985222
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4096aad19298262baaeb638bd311df011b8c316732e5ba2f6f8c7410bc9fae89cfa4a1c69371fcf8e233c0c60e6feb708928baed2f218cfbfe2fb8dc5dbbdf9b
|
|
7
|
+
data.tar.gz: 1299bf0c1ee06f04405db99730a561e7754e138f5ff10d447f603b204de377f9aa253e7f49eef467e1a761d07c1f346d256690813da060c849be6968deaa240f
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
on: [push]
|
|
3
|
+
|
|
4
|
+
jobs:
|
|
5
|
+
test:
|
|
6
|
+
runs-on: ubuntu-latest
|
|
7
|
+
strategy:
|
|
8
|
+
matrix:
|
|
9
|
+
ruby-version: ['3.4', '4.0']
|
|
10
|
+
steps:
|
|
11
|
+
- uses: actions/checkout@v4
|
|
12
|
+
- uses: ruby/setup-ruby@v1
|
|
13
|
+
with:
|
|
14
|
+
ruby-version: ${{ matrix.ruby-version }}
|
|
15
|
+
bundler-cache: true
|
|
16
|
+
- run: bundle exec rspec
|
|
17
|
+
rubocop:
|
|
18
|
+
runs-on: ubuntu-latest
|
|
19
|
+
steps:
|
|
20
|
+
- uses: actions/checkout@v4
|
|
21
|
+
- uses: ruby/setup-ruby@v1
|
|
22
|
+
with:
|
|
23
|
+
ruby-version: '4.0'
|
|
24
|
+
bundler-cache: true
|
|
25
|
+
- run: bundle exec rubocop
|
data/.gitignore
ADDED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# rcov generated
|
|
2
|
+
coverage
|
|
3
|
+
coverage.data
|
|
4
|
+
|
|
5
|
+
# rdoc generated
|
|
6
|
+
rdoc
|
|
7
|
+
|
|
8
|
+
# yard generated
|
|
9
|
+
doc
|
|
10
|
+
.yardoc
|
|
11
|
+
|
|
12
|
+
# bundler
|
|
13
|
+
.bundle
|
|
14
|
+
Gemfile.lock
|
|
15
|
+
|
|
16
|
+
# juwelier generated
|
|
17
|
+
pkg
|
|
18
|
+
|
|
19
|
+
# Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
|
|
20
|
+
#
|
|
21
|
+
# * Create a file at ~/.gitignore
|
|
22
|
+
# * Include files you want ignored
|
|
23
|
+
# * Run: git config --global core.excludesfile ~/.gitignore
|
|
24
|
+
#
|
|
25
|
+
# After doing this, these files will be ignored in all your git projects,
|
|
26
|
+
# saving you from having to 'pollute' every project you touch with them
|
|
27
|
+
#
|
|
28
|
+
# Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
|
|
29
|
+
#
|
|
30
|
+
# For MacOS:
|
|
31
|
+
#
|
|
32
|
+
#.DS_Store
|
|
33
|
+
|
|
34
|
+
# For TextMate
|
|
35
|
+
#*.tmproj
|
|
36
|
+
#tmtags
|
|
37
|
+
|
|
38
|
+
# For emacs:
|
|
39
|
+
#*~
|
|
40
|
+
#\#*
|
|
41
|
+
#.\#*
|
|
42
|
+
|
|
43
|
+
# For vim:
|
|
44
|
+
#*.swp
|
|
45
|
+
|
|
46
|
+
# For redcar:
|
|
47
|
+
#.redcar
|
|
48
|
+
|
|
49
|
+
# For rubinius:
|
|
50
|
+
#*.rbc
|
|
51
|
+
.idea
|
|
52
|
+
.byebug_history
|
|
53
|
+
example.rb
|
data/.rubocop.yml
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
AllCops:
|
|
2
|
+
DisabledByDefault: true
|
|
3
|
+
|
|
4
|
+
Security:
|
|
5
|
+
Enabled: true
|
|
6
|
+
|
|
7
|
+
Bundler/DuplicatedGem:
|
|
8
|
+
Enabled: true
|
|
9
|
+
Bundler/InsecureProtocolSource:
|
|
10
|
+
Enabled: true
|
|
11
|
+
Layout/IndentationStyle:
|
|
12
|
+
Enabled: true
|
|
13
|
+
Layout/SpaceInsideRangeLiteral:
|
|
14
|
+
Enabled: true
|
|
15
|
+
Lint:
|
|
16
|
+
Enabled: true
|
|
17
|
+
Lint/RaiseException:
|
|
18
|
+
Enabled: true
|
|
19
|
+
Naming/AsciiIdentifiers:
|
|
20
|
+
Enabled: true
|
|
21
|
+
Naming/ClassAndModuleCamelCase:
|
|
22
|
+
Enabled: true
|
|
23
|
+
Naming/ConstantName:
|
|
24
|
+
Enabled: true
|
data/.ruby-version
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
4.0.7
|
data/Gemfile
CHANGED
|
@@ -1,16 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
source 'https://rubygems.org'
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
# Include everything needed to run rake, tests, features, etc.
|
|
7
|
-
group :development do
|
|
8
|
-
gem 'pry', '~> 0.10'
|
|
9
|
-
gem 'pry-byebug', '~> 3.4'
|
|
10
|
-
gem 'webmock', '~> 3.0', '>= 3.0.1'
|
|
11
|
-
gem 'rspec', '~> 3.6'
|
|
12
|
-
gem 'rdoc', "~> 3.12"
|
|
13
|
-
gem 'bundler', "~> 1.0"
|
|
14
|
-
gem 'juwelier', "~> 2.1.0"
|
|
15
|
-
gem 'simplecov', ">= 0"
|
|
16
|
-
end
|
|
5
|
+
gemspec
|
data/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# identity-api-client
|
|
2
2
|
|
|
3
|
-
[](https://github.com/controlshift/identity-api-client/actions/workflows/ci.yml)
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
Ruby client for the Identity API.
|
|
6
6
|
|
|
7
7
|
## Install
|
|
8
8
|
|
data/Rakefile
CHANGED
|
@@ -11,21 +11,6 @@ rescue Bundler::BundlerError => e
|
|
|
11
11
|
end
|
|
12
12
|
require 'rake'
|
|
13
13
|
|
|
14
|
-
require 'juwelier'
|
|
15
|
-
Juwelier::Tasks.new do |gem|
|
|
16
|
-
# gem is a Gem::Specification... see http://guides.rubygems.org/specification-reference/ for more options
|
|
17
|
-
gem.name = "identity-api-client"
|
|
18
|
-
gem.homepage = "http://github.com/controlshift/identity-api-client"
|
|
19
|
-
gem.license = "MIT"
|
|
20
|
-
gem.summary = %Q{API Client for 38 Degree's Identity API}
|
|
21
|
-
gem.description = %Q{Provides a simple ruby binding to 38dgs identity API}
|
|
22
|
-
gem.email = 'nathan@controlshiftlabs.com'
|
|
23
|
-
gem.authors = ['Nathan Woodhull']
|
|
24
|
-
|
|
25
|
-
# dependencies defined in Gemfile
|
|
26
|
-
end
|
|
27
|
-
Juwelier::RubygemsDotOrgTasks.new
|
|
28
|
-
|
|
29
14
|
require 'rspec/core'
|
|
30
15
|
require 'rspec/core/rake_task'
|
|
31
16
|
RSpec::Core::RakeTask.new(:spec) do |spec|
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.
|
|
1
|
+
1.0.0
|
data/identity-api-client.gemspec
CHANGED
|
@@ -1,84 +1,30 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
# -*- encoding: utf-8 -*-
|
|
5
|
-
# stub: identity-api-client 0.1.3 ruby lib
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
version = File.read(File.join(__dir__, 'VERSION')).strip
|
|
6
4
|
|
|
7
5
|
Gem::Specification.new do |s|
|
|
8
|
-
s.name =
|
|
9
|
-
s.version =
|
|
6
|
+
s.name = 'identity-api-client'
|
|
7
|
+
s.version = version
|
|
8
|
+
s.authors = ['Nathan Woodhull', 'Owens Ehimen', 'Diego Marcet', 'Grey Moore']
|
|
9
|
+
s.email = ['talk@controlshiftlabs.com']
|
|
10
|
+
s.homepage = 'https://github.com/controlshift/identity-api-client'
|
|
11
|
+
s.license = 'MIT'
|
|
12
|
+
s.summary = 'Ruby client for the Identity API'
|
|
13
|
+
s.description = 'API client for the Identity API'
|
|
14
|
+
s.required_ruby_version = '>= 3.4.0'
|
|
10
15
|
|
|
11
|
-
s.
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
s.
|
|
15
|
-
s.description = "Provides a simple ruby binding to 38dgs identity API".freeze
|
|
16
|
-
s.email = "nathan@controlshiftlabs.com".freeze
|
|
17
|
-
s.extra_rdoc_files = [
|
|
18
|
-
"LICENSE",
|
|
19
|
-
"README.md"
|
|
20
|
-
]
|
|
21
|
-
s.files = [
|
|
22
|
-
".document",
|
|
23
|
-
".rspec",
|
|
24
|
-
".ruby-gemset",
|
|
25
|
-
".ruby-version",
|
|
26
|
-
".travis.yml",
|
|
27
|
-
"Gemfile",
|
|
28
|
-
"LICENSE",
|
|
29
|
-
"README.md",
|
|
30
|
-
"Rakefile",
|
|
31
|
-
"VERSION",
|
|
32
|
-
"identity-api-client.gemspec",
|
|
33
|
-
"lib/identity-api-client.rb",
|
|
34
|
-
"lib/identity-api-client/base.rb",
|
|
35
|
-
"lib/identity-api-client/client.rb",
|
|
36
|
-
"lib/identity-api-client/member.rb",
|
|
37
|
-
"spec/client_spec.rb",
|
|
38
|
-
"spec/fixtures/details.json",
|
|
39
|
-
"spec/fixtures/details_with_consents.json",
|
|
40
|
-
"spec/member_spec.rb",
|
|
41
|
-
"spec/spec_helper.rb"
|
|
42
|
-
]
|
|
43
|
-
s.homepage = "http://github.com/controlshift/identity-api-client".freeze
|
|
44
|
-
s.licenses = ["MIT".freeze]
|
|
45
|
-
s.rubygems_version = "3.0.4".freeze
|
|
46
|
-
s.summary = "API Client for 38 Degree's Identity API".freeze
|
|
16
|
+
s.files = Dir.chdir(__dir__) do
|
|
17
|
+
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(pkg|spec)/}) }
|
|
18
|
+
end
|
|
19
|
+
s.require_paths = ['lib']
|
|
47
20
|
|
|
48
|
-
|
|
49
|
-
s.specification_version = 4
|
|
21
|
+
s.add_runtime_dependency 'vertebrae', '~> 2.0'
|
|
50
22
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
s.add_development_dependency(%q<bundler>.freeze, ["~> 1.0"])
|
|
59
|
-
s.add_development_dependency(%q<juwelier>.freeze, ["~> 2.1.0"])
|
|
60
|
-
s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
|
|
61
|
-
else
|
|
62
|
-
s.add_dependency(%q<vertebrae>.freeze, ["> 0.5"])
|
|
63
|
-
s.add_dependency(%q<pry>.freeze, ["~> 0.10"])
|
|
64
|
-
s.add_dependency(%q<pry-byebug>.freeze, ["~> 3.4"])
|
|
65
|
-
s.add_dependency(%q<webmock>.freeze, ["~> 3.0", ">= 3.0.1"])
|
|
66
|
-
s.add_dependency(%q<rspec>.freeze, ["~> 3.6"])
|
|
67
|
-
s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
|
|
68
|
-
s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
|
|
69
|
-
s.add_dependency(%q<juwelier>.freeze, ["~> 2.1.0"])
|
|
70
|
-
s.add_dependency(%q<simplecov>.freeze, [">= 0"])
|
|
71
|
-
end
|
|
72
|
-
else
|
|
73
|
-
s.add_dependency(%q<vertebrae>.freeze, ["> 0.5"])
|
|
74
|
-
s.add_dependency(%q<pry>.freeze, ["~> 0.10"])
|
|
75
|
-
s.add_dependency(%q<pry-byebug>.freeze, ["~> 3.4"])
|
|
76
|
-
s.add_dependency(%q<webmock>.freeze, ["~> 3.0", ">= 3.0.1"])
|
|
77
|
-
s.add_dependency(%q<rspec>.freeze, ["~> 3.6"])
|
|
78
|
-
s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
|
|
79
|
-
s.add_dependency(%q<bundler>.freeze, ["~> 1.0"])
|
|
80
|
-
s.add_dependency(%q<juwelier>.freeze, ["~> 2.1.0"])
|
|
81
|
-
s.add_dependency(%q<simplecov>.freeze, [">= 0"])
|
|
82
|
-
end
|
|
23
|
+
s.add_development_dependency 'pry', '~> 0.10'
|
|
24
|
+
s.add_development_dependency 'pry-byebug', '~> 3.4'
|
|
25
|
+
s.add_development_dependency 'rdoc', '>= 6.3.1'
|
|
26
|
+
s.add_development_dependency 'rspec', '~> 3.6'
|
|
27
|
+
s.add_development_dependency 'rubocop', '>= 0'
|
|
28
|
+
s.add_development_dependency 'simplecov', '>= 0'
|
|
29
|
+
s.add_development_dependency 'webmock', '~> 3.0', '>= 3.0.1'
|
|
83
30
|
end
|
|
84
|
-
|
metadata
CHANGED
|
@@ -1,29 +1,31 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: identity-api-client
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 1.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Nathan Woodhull
|
|
8
|
-
|
|
8
|
+
- Owens Ehimen
|
|
9
|
+
- Diego Marcet
|
|
10
|
+
- Grey Moore
|
|
9
11
|
bindir: bin
|
|
10
12
|
cert_chain: []
|
|
11
|
-
date:
|
|
13
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
14
|
dependencies:
|
|
13
15
|
- !ruby/object:Gem::Dependency
|
|
14
16
|
name: vertebrae
|
|
15
17
|
requirement: !ruby/object:Gem::Requirement
|
|
16
18
|
requirements:
|
|
17
|
-
- - "
|
|
19
|
+
- - "~>"
|
|
18
20
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '0
|
|
21
|
+
version: '2.0'
|
|
20
22
|
type: :runtime
|
|
21
23
|
prerelease: false
|
|
22
24
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
25
|
requirements:
|
|
24
|
-
- - "
|
|
26
|
+
- - "~>"
|
|
25
27
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '0
|
|
28
|
+
version: '2.0'
|
|
27
29
|
- !ruby/object:Gem::Dependency
|
|
28
30
|
name: pry
|
|
29
31
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -53,25 +55,19 @@ dependencies:
|
|
|
53
55
|
- !ruby/object:Gem::Version
|
|
54
56
|
version: '3.4'
|
|
55
57
|
- !ruby/object:Gem::Dependency
|
|
56
|
-
name:
|
|
58
|
+
name: rdoc
|
|
57
59
|
requirement: !ruby/object:Gem::Requirement
|
|
58
60
|
requirements:
|
|
59
|
-
- - "~>"
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: '3.0'
|
|
62
61
|
- - ">="
|
|
63
62
|
- !ruby/object:Gem::Version
|
|
64
|
-
version: 3.
|
|
63
|
+
version: 6.3.1
|
|
65
64
|
type: :development
|
|
66
65
|
prerelease: false
|
|
67
66
|
version_requirements: !ruby/object:Gem::Requirement
|
|
68
67
|
requirements:
|
|
69
|
-
- - "~>"
|
|
70
|
-
- !ruby/object:Gem::Version
|
|
71
|
-
version: '3.0'
|
|
72
68
|
- - ">="
|
|
73
69
|
- !ruby/object:Gem::Version
|
|
74
|
-
version: 3.
|
|
70
|
+
version: 6.3.1
|
|
75
71
|
- !ruby/object:Gem::Dependency
|
|
76
72
|
name: rspec
|
|
77
73
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -87,74 +83,67 @@ dependencies:
|
|
|
87
83
|
- !ruby/object:Gem::Version
|
|
88
84
|
version: '3.6'
|
|
89
85
|
- !ruby/object:Gem::Dependency
|
|
90
|
-
name:
|
|
86
|
+
name: rubocop
|
|
91
87
|
requirement: !ruby/object:Gem::Requirement
|
|
92
88
|
requirements:
|
|
93
|
-
- - "
|
|
89
|
+
- - ">="
|
|
94
90
|
- !ruby/object:Gem::Version
|
|
95
|
-
version: '
|
|
91
|
+
version: '0'
|
|
96
92
|
type: :development
|
|
97
93
|
prerelease: false
|
|
98
94
|
version_requirements: !ruby/object:Gem::Requirement
|
|
99
95
|
requirements:
|
|
100
|
-
- - "
|
|
96
|
+
- - ">="
|
|
101
97
|
- !ruby/object:Gem::Version
|
|
102
|
-
version: '
|
|
98
|
+
version: '0'
|
|
103
99
|
- !ruby/object:Gem::Dependency
|
|
104
|
-
name:
|
|
100
|
+
name: simplecov
|
|
105
101
|
requirement: !ruby/object:Gem::Requirement
|
|
106
102
|
requirements:
|
|
107
|
-
- - "
|
|
103
|
+
- - ">="
|
|
108
104
|
- !ruby/object:Gem::Version
|
|
109
|
-
version: '
|
|
105
|
+
version: '0'
|
|
110
106
|
type: :development
|
|
111
107
|
prerelease: false
|
|
112
108
|
version_requirements: !ruby/object:Gem::Requirement
|
|
113
109
|
requirements:
|
|
114
|
-
- - "
|
|
110
|
+
- - ">="
|
|
115
111
|
- !ruby/object:Gem::Version
|
|
116
|
-
version: '
|
|
112
|
+
version: '0'
|
|
117
113
|
- !ruby/object:Gem::Dependency
|
|
118
|
-
name:
|
|
114
|
+
name: webmock
|
|
119
115
|
requirement: !ruby/object:Gem::Requirement
|
|
120
116
|
requirements:
|
|
121
117
|
- - "~>"
|
|
122
118
|
- !ruby/object:Gem::Version
|
|
123
|
-
version:
|
|
124
|
-
type: :development
|
|
125
|
-
prerelease: false
|
|
126
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
127
|
-
requirements:
|
|
128
|
-
- - "~>"
|
|
129
|
-
- !ruby/object:Gem::Version
|
|
130
|
-
version: 2.1.0
|
|
131
|
-
- !ruby/object:Gem::Dependency
|
|
132
|
-
name: simplecov
|
|
133
|
-
requirement: !ruby/object:Gem::Requirement
|
|
134
|
-
requirements:
|
|
119
|
+
version: '3.0'
|
|
135
120
|
- - ">="
|
|
136
121
|
- !ruby/object:Gem::Version
|
|
137
|
-
version:
|
|
122
|
+
version: 3.0.1
|
|
138
123
|
type: :development
|
|
139
124
|
prerelease: false
|
|
140
125
|
version_requirements: !ruby/object:Gem::Requirement
|
|
141
126
|
requirements:
|
|
127
|
+
- - "~>"
|
|
128
|
+
- !ruby/object:Gem::Version
|
|
129
|
+
version: '3.0'
|
|
142
130
|
- - ">="
|
|
143
131
|
- !ruby/object:Gem::Version
|
|
144
|
-
version:
|
|
145
|
-
description:
|
|
146
|
-
email:
|
|
132
|
+
version: 3.0.1
|
|
133
|
+
description: API client for the Identity API
|
|
134
|
+
email:
|
|
135
|
+
- talk@controlshiftlabs.com
|
|
147
136
|
executables: []
|
|
148
137
|
extensions: []
|
|
149
|
-
extra_rdoc_files:
|
|
150
|
-
- LICENSE
|
|
151
|
-
- README.md
|
|
138
|
+
extra_rdoc_files: []
|
|
152
139
|
files:
|
|
153
140
|
- ".document"
|
|
141
|
+
- ".github/workflows/ci.yml"
|
|
142
|
+
- ".gitignore"
|
|
154
143
|
- ".rspec"
|
|
144
|
+
- ".rubocop.yml"
|
|
155
145
|
- ".ruby-gemset"
|
|
156
146
|
- ".ruby-version"
|
|
157
|
-
- ".travis.yml"
|
|
158
147
|
- Gemfile
|
|
159
148
|
- LICENSE
|
|
160
149
|
- README.md
|
|
@@ -165,16 +154,10 @@ files:
|
|
|
165
154
|
- lib/identity-api-client/base.rb
|
|
166
155
|
- lib/identity-api-client/client.rb
|
|
167
156
|
- lib/identity-api-client/member.rb
|
|
168
|
-
|
|
169
|
-
- spec/fixtures/details.json
|
|
170
|
-
- spec/fixtures/details_with_consents.json
|
|
171
|
-
- spec/member_spec.rb
|
|
172
|
-
- spec/spec_helper.rb
|
|
173
|
-
homepage: http://github.com/controlshift/identity-api-client
|
|
157
|
+
homepage: https://github.com/controlshift/identity-api-client
|
|
174
158
|
licenses:
|
|
175
159
|
- MIT
|
|
176
160
|
metadata: {}
|
|
177
|
-
post_install_message:
|
|
178
161
|
rdoc_options: []
|
|
179
162
|
require_paths:
|
|
180
163
|
- lib
|
|
@@ -182,15 +165,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
182
165
|
requirements:
|
|
183
166
|
- - ">="
|
|
184
167
|
- !ruby/object:Gem::Version
|
|
185
|
-
version:
|
|
168
|
+
version: 3.4.0
|
|
186
169
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
187
170
|
requirements:
|
|
188
171
|
- - ">="
|
|
189
172
|
- !ruby/object:Gem::Version
|
|
190
173
|
version: '0'
|
|
191
174
|
requirements: []
|
|
192
|
-
rubygems_version:
|
|
193
|
-
signing_key:
|
|
175
|
+
rubygems_version: 4.0.20
|
|
194
176
|
specification_version: 4
|
|
195
|
-
summary:
|
|
177
|
+
summary: Ruby client for the Identity API
|
|
196
178
|
test_files: []
|
data/.travis.yml
DELETED
data/spec/client_spec.rb
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
|
2
|
-
|
|
3
|
-
describe IdentityApiClient::Client do
|
|
4
|
-
let(:options) { { :host => 'foo.bar.com', :api_token => 'abc123' }}
|
|
5
|
-
subject { described_class.new(options) }
|
|
6
|
-
|
|
7
|
-
it 'should respond to member' do
|
|
8
|
-
expect(subject).to respond_to(:member)
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
context 'setup options ' do
|
|
12
|
-
let(:config) { subject.connection.configuration }
|
|
13
|
-
|
|
14
|
-
it 'should initialize the options' do
|
|
15
|
-
expect(config.host).to eq 'foo.bar.com'
|
|
16
|
-
expect(config.options[:api_token]).to eq 'abc123'
|
|
17
|
-
end
|
|
18
|
-
end
|
|
19
|
-
end
|
data/spec/fixtures/details.json
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"first_name": "Joe", "last_name": "Bloggs", "email": "joe@bloggs.com"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"first_name": "Joe",
|
|
3
|
-
"last_name": "Bloggs",
|
|
4
|
-
"email": "joe@bloggs.com",
|
|
5
|
-
|
|
6
|
-
"consents": [
|
|
7
|
-
{
|
|
8
|
-
"public_id": "terms_of_service_1.0",
|
|
9
|
-
"consent_level": "explicit_opt_in",
|
|
10
|
-
"consent_created_at": "2016-12-30 23:30:13 +0000"
|
|
11
|
-
},
|
|
12
|
-
{
|
|
13
|
-
"public_id": "privacy_policy_2.6",
|
|
14
|
-
"consent_level": "implicit",
|
|
15
|
-
"consent_created_at": "2015-01-01 10:10:10 +0000"
|
|
16
|
-
}
|
|
17
|
-
]
|
|
18
|
-
}
|
data/spec/member_spec.rb
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
|
|
2
|
-
|
|
3
|
-
describe IdentityApiClient::Member do
|
|
4
|
-
subject { IdentityApiClient.new(host: 'test.com', api_token: '1234567890abcdef') }
|
|
5
|
-
|
|
6
|
-
let(:request_path) { '/api/member/details' }
|
|
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
|
-
|
|
16
|
-
describe 'success' do
|
|
17
|
-
let(:status) { 200 }
|
|
18
|
-
|
|
19
|
-
before(:each) do
|
|
20
|
-
stub_post(request_path).with(body: expected_request).to_return(:body => body, :status => status,
|
|
21
|
-
:headers => {:content_type => "application/json; charset=utf-8"})
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
context 'without load_current_consents' do
|
|
25
|
-
let(:expected_request) { {'guid' => 'abcdef1234567890', 'api_token' => '1234567890abcdef'}.to_json }
|
|
26
|
-
let(:body) { fixture('details.json') }
|
|
27
|
-
|
|
28
|
-
it 'should get member details back from the API' do
|
|
29
|
-
resp = subject.member.details(guid: 'abcdef1234567890')
|
|
30
|
-
|
|
31
|
-
expect(resp.first_name).to eq('Joe')
|
|
32
|
-
expect(resp.last_name).to eq('Bloggs')
|
|
33
|
-
expect(resp.email).to eq('joe@bloggs.com')
|
|
34
|
-
end
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
context 'with load_current_consents' do
|
|
39
|
-
let(:expected_request) { {'guid' => 'abcdef1234567890', 'api_token' => '1234567890abcdef', 'load_current_consents' => true}.to_json }
|
|
40
|
-
let(:body) { fixture('details_with_consents.json') }
|
|
41
|
-
|
|
42
|
-
it 'should get member details with consents back from the API' do
|
|
43
|
-
resp = subject.member.details(guid: 'abcdef1234567890', load_current_consents: true)
|
|
44
|
-
|
|
45
|
-
expect(resp.first_name).to eq('Joe')
|
|
46
|
-
expect(resp.last_name).to eq('Bloggs')
|
|
47
|
-
expect(resp.email).to eq('joe@bloggs.com')
|
|
48
|
-
|
|
49
|
-
expect(resp.consents.count).to eq 2
|
|
50
|
-
expect(resp.consents[0].public_id).to eq 'terms_of_service_1.0'
|
|
51
|
-
end
|
|
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
|
|
66
|
-
end
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
|
data/spec/spec_helper.rb
DELETED
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
$LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
|
|
2
|
-
$LOAD_PATH.unshift(File.dirname(__FILE__))
|
|
3
|
-
require 'rspec'
|
|
4
|
-
require 'identity-api-client'
|
|
5
|
-
require 'webmock/rspec'
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
# Requires supporting files with custom matchers and macros, etc,
|
|
9
|
-
# in ./support/ and its subdirectories.
|
|
10
|
-
Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
|
|
11
|
-
|
|
12
|
-
RSpec.configure do |config|
|
|
13
|
-
config.color = true
|
|
14
|
-
config.include WebMock::API
|
|
15
|
-
|
|
16
|
-
config.before(:each) do
|
|
17
|
-
WebMock.reset!
|
|
18
|
-
end
|
|
19
|
-
config.after(:each) do
|
|
20
|
-
WebMock.reset!
|
|
21
|
-
end
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def stub_get(path)
|
|
25
|
-
stub_identity_request(:get, path)
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def stub_post(path)
|
|
29
|
-
stub_identity_request(:post, path)
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
def stub_identity_request(method, path)
|
|
33
|
-
stub_request(method, "https://test.com" + path)
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
def fixture_path
|
|
37
|
-
File.expand_path("../fixtures", __FILE__)
|
|
38
|
-
end
|
|
39
|
-
|
|
40
|
-
def fixture(file)
|
|
41
|
-
File.new(File.join(fixture_path, '/', file)).read
|
|
42
|
-
end
|