scim-kit 0.5.0 → 0.5.1
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 +36 -0
- data/.rspec +1 -1
- data/.rubocop.yml +57 -3
- data/CHANGELOG.md +14 -4
- data/Gemfile.lock +31 -31
- data/README.md +1 -1
- data/bin/cibuild +8 -9
- data/bin/lint +2 -4
- data/bin/setup +2 -1
- data/bin/shipit +8 -0
- data/bin/test +3 -15
- data/lib/scim/kit.rb +1 -0
- data/lib/scim/kit/http.rb +47 -0
- data/lib/scim/kit/v2.rb +1 -1
- data/lib/scim/kit/v2/attribute_type.rb +1 -1
- data/lib/scim/kit/v2/configuration.rb +9 -16
- data/lib/scim/kit/v2/templates/attribute.json.jbuilder +1 -1
- data/lib/scim/kit/version.rb +1 -1
- data/scim-kit.gemspec +3 -3
- metadata +10 -8
- data/.travis.yml +0 -9
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 82460e1f4a879602b96b6f634532ed3ffe99b9cd2bb0f23aa42f9916ade55642
|
|
4
|
+
data.tar.gz: c9b22a99488f8513ecd2094a8d6ad0223a9d2757aa28a21b5520960dfd3f8364
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 3b1d01ed990a0fb41cf256665b32ac778f34b424ab0d96ff8b3d7576efaf947b8536eb3e84ad399e3e41941eada8099eb5e15c6fbceea379cb15b70cc84db637
|
|
7
|
+
data.tar.gz: 26ee40f4aad95a191c8aedf6c9ac86ce262d1f25cfde185a22312f5ad62aa2503c00f5f0de076c9bf021e48098c75225da7e0ae541a6a0073b77dc659c013620
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
name: ci
|
|
2
|
+
on: [push]
|
|
3
|
+
jobs:
|
|
4
|
+
build:
|
|
5
|
+
runs-on: ubuntu-latest
|
|
6
|
+
strategy:
|
|
7
|
+
matrix:
|
|
8
|
+
ruby: [ '2.5', '2.6', '2.7' ]
|
|
9
|
+
name: RSpec Ruby ${{ matrix.ruby }}
|
|
10
|
+
steps:
|
|
11
|
+
- uses: actions/checkout@v2
|
|
12
|
+
with:
|
|
13
|
+
lfs: true
|
|
14
|
+
submodules: recursive
|
|
15
|
+
- uses: actions/setup-ruby@v1
|
|
16
|
+
with:
|
|
17
|
+
ruby-version: ${{ matrix.ruby }}
|
|
18
|
+
- name: setup
|
|
19
|
+
run: ./bin/setup
|
|
20
|
+
- name: test
|
|
21
|
+
run: ./bin/test
|
|
22
|
+
lint:
|
|
23
|
+
runs-on: ubuntu-latest
|
|
24
|
+
name: Lint
|
|
25
|
+
steps:
|
|
26
|
+
- uses: actions/checkout@v2
|
|
27
|
+
with:
|
|
28
|
+
lfs: true
|
|
29
|
+
submodules: recursive
|
|
30
|
+
- uses: actions/setup-ruby@v1
|
|
31
|
+
with:
|
|
32
|
+
ruby-version: 2.7
|
|
33
|
+
- name: setup
|
|
34
|
+
run: ./bin/setup
|
|
35
|
+
- name: lint
|
|
36
|
+
run: ./bin/lint
|
data/.rspec
CHANGED
data/.rubocop.yml
CHANGED
|
@@ -9,19 +9,49 @@ AllCops:
|
|
|
9
9
|
- 'vendor/**/*'
|
|
10
10
|
TargetRubyVersion: 2.5
|
|
11
11
|
|
|
12
|
+
Layout/ArgumentAlignment:
|
|
13
|
+
EnforcedStyle: with_fixed_indentation
|
|
14
|
+
|
|
15
|
+
Layout/EndOfLine:
|
|
16
|
+
EnforcedStyle: lf
|
|
17
|
+
|
|
12
18
|
Layout/FirstArrayElementIndentation:
|
|
13
19
|
EnforcedStyle: consistent
|
|
14
20
|
|
|
21
|
+
Layout/LineLength:
|
|
22
|
+
Exclude:
|
|
23
|
+
- 'spec/**/*.rb'
|
|
24
|
+
IgnoredPatterns:
|
|
25
|
+
- '^#*'
|
|
26
|
+
|
|
27
|
+
Layout/MultilineMethodCallIndentation:
|
|
28
|
+
Enabled: true
|
|
29
|
+
EnforcedStyle: indented
|
|
30
|
+
|
|
31
|
+
Layout/ParameterAlignment:
|
|
32
|
+
Enabled: true
|
|
33
|
+
EnforcedStyle: with_fixed_indentation
|
|
34
|
+
IndentationWidth: 2
|
|
35
|
+
|
|
36
|
+
Lint/AmbiguousBlockAssociation:
|
|
37
|
+
Exclude:
|
|
38
|
+
- 'spec/**/*.rb'
|
|
39
|
+
|
|
40
|
+
Lint/RaiseException:
|
|
41
|
+
Enabled: true
|
|
42
|
+
|
|
43
|
+
Lint/StructNewOverride:
|
|
44
|
+
Enabled: true
|
|
45
|
+
|
|
15
46
|
Metrics/BlockLength:
|
|
16
47
|
Exclude:
|
|
17
48
|
- '*.gemspec'
|
|
49
|
+
- 'Rakefile'
|
|
18
50
|
- 'spec/**/*.rb'
|
|
19
51
|
|
|
20
|
-
Metrics/
|
|
52
|
+
Metrics/ModuleLength:
|
|
21
53
|
Exclude:
|
|
22
54
|
- 'spec/**/*.rb'
|
|
23
|
-
IgnoredPatterns:
|
|
24
|
-
- '^#*'
|
|
25
55
|
|
|
26
56
|
Naming/FileName:
|
|
27
57
|
Exclude:
|
|
@@ -30,6 +60,30 @@ Naming/FileName:
|
|
|
30
60
|
Naming/RescuedExceptionsVariableName:
|
|
31
61
|
PreferredName: error
|
|
32
62
|
|
|
63
|
+
Style/Documentation:
|
|
64
|
+
Enabled: false
|
|
65
|
+
|
|
66
|
+
Style/HashEachMethods:
|
|
67
|
+
Enabled: true
|
|
68
|
+
|
|
69
|
+
Style/HashTransformKeys:
|
|
70
|
+
Enabled: true
|
|
71
|
+
|
|
72
|
+
Style/HashTransformValues:
|
|
73
|
+
Enabled: true
|
|
74
|
+
|
|
75
|
+
Style/StringLiterals:
|
|
76
|
+
EnforcedStyle: 'single_quotes'
|
|
77
|
+
|
|
78
|
+
Style/TrailingCommaInArrayLiteral:
|
|
79
|
+
Enabled: false
|
|
80
|
+
|
|
81
|
+
Style/TrailingCommaInHashLiteral:
|
|
82
|
+
Enabled: false
|
|
83
|
+
|
|
84
|
+
RSpec/FilePath:
|
|
85
|
+
Enabled: false
|
|
86
|
+
|
|
33
87
|
RSpec/NamedSubject:
|
|
34
88
|
Enabled: false
|
|
35
89
|
|
data/CHANGELOG.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
Version 0.5.
|
|
1
|
+
Version 0.5.1
|
|
2
2
|
|
|
3
3
|
# Changelog
|
|
4
4
|
All notable changes to this project will be documented in this file.
|
|
@@ -7,7 +7,16 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
|
7
7
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
8
8
|
|
|
9
9
|
## [Unreleased]
|
|
10
|
-
|
|
10
|
+
|
|
11
|
+
## [0.5.1] - 2020-05-20
|
|
12
|
+
### Fixed
|
|
13
|
+
- Specify `Accept: application/scim+json` header when discovering a SCIM API.
|
|
14
|
+
- Specify `Content-Type: application/scim+json` header when discovering a SCIM API.
|
|
15
|
+
- Specify `User-Agent: scim/kit <version>` header when discovering a SCIM API.
|
|
16
|
+
- Follow HTTP redirects when discovering a SCIM API.
|
|
17
|
+
- Retry 3 times with backoff + jitter when a connection to a SCIM discovery API fails.
|
|
18
|
+
- Specify a 1 second open timeout.
|
|
19
|
+
- Specify a 5 second read timeout.
|
|
11
20
|
|
|
12
21
|
## [0.5.0] - 2020-01-21
|
|
13
22
|
### Added
|
|
@@ -44,8 +53,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
44
53
|
- \_assign does not coerce values by default.
|
|
45
54
|
- errors are merged together instead of overwritten during attribute validation.
|
|
46
55
|
|
|
47
|
-
[Unreleased]: https://github.com/mokhan/scim-kit/compare/v0.5.
|
|
48
|
-
[0.
|
|
56
|
+
[Unreleased]: https://github.com/mokhan/scim-kit/compare/v0.5.1...HEAD
|
|
57
|
+
[0.5.1]: https://github.com/mokhan/scim-kit/compare/v0.5.0...v0.5.1
|
|
58
|
+
[0.5.0]: https://github.com/mokhan/scim-kit/compare/v0.4.0...v0.5.0
|
|
49
59
|
[0.4.0]: https://github.com/mokhan/scim-kit/compare/v0.3.2...v0.4.0
|
|
50
60
|
[0.3.2]: https://github.com/mokhan/scim-kit/compare/v0.3.1...v0.3.2
|
|
51
61
|
[0.3.1]: https://github.com/mokhan/scim-kit/compare/v0.3.0...v0.3.1
|
data/Gemfile.lock
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
scim-kit (0.5.
|
|
4
|
+
scim-kit (0.5.1)
|
|
5
5
|
activemodel (>= 5.2.0)
|
|
6
|
-
net-hippie (~> 0.
|
|
6
|
+
net-hippie (~> 0.3)
|
|
7
7
|
parslet (~> 1.8)
|
|
8
8
|
tilt (~> 2.0)
|
|
9
9
|
tilt-jbuilder (~> 0.7)
|
|
@@ -11,62 +11,62 @@ PATH
|
|
|
11
11
|
GEM
|
|
12
12
|
remote: https://rubygems.org/
|
|
13
13
|
specs:
|
|
14
|
-
activemodel (6.0.
|
|
15
|
-
activesupport (= 6.0.
|
|
16
|
-
activesupport (6.0.
|
|
14
|
+
activemodel (6.0.3.1)
|
|
15
|
+
activesupport (= 6.0.3.1)
|
|
16
|
+
activesupport (6.0.3.1)
|
|
17
17
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
18
18
|
i18n (>= 0.7, < 2)
|
|
19
19
|
minitest (~> 5.1)
|
|
20
20
|
tzinfo (~> 1.1)
|
|
21
|
-
zeitwerk (~> 2.2)
|
|
21
|
+
zeitwerk (~> 2.2, >= 2.2.2)
|
|
22
22
|
addressable (2.7.0)
|
|
23
23
|
public_suffix (>= 2.0.2, < 5.0)
|
|
24
24
|
ast (2.4.0)
|
|
25
25
|
bundler-audit (0.6.1)
|
|
26
26
|
bundler (>= 1.2.0, < 3)
|
|
27
27
|
thor (~> 0.18)
|
|
28
|
-
byebug (11.1.
|
|
29
|
-
concurrent-ruby (1.1.
|
|
28
|
+
byebug (11.1.3)
|
|
29
|
+
concurrent-ruby (1.1.6)
|
|
30
30
|
crack (0.4.3)
|
|
31
31
|
safe_yaml (~> 1.0.0)
|
|
32
32
|
diff-lcs (1.3)
|
|
33
|
-
ffaker (2.
|
|
34
|
-
hashdiff (1.0.
|
|
33
|
+
ffaker (2.14.0)
|
|
34
|
+
hashdiff (1.0.1)
|
|
35
35
|
i18n (1.8.2)
|
|
36
36
|
concurrent-ruby (~> 1.0)
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
net-hippie (0.3.1)
|
|
37
|
+
jbuilder (2.10.0)
|
|
38
|
+
activesupport (>= 5.0.0)
|
|
39
|
+
minitest (5.14.1)
|
|
40
|
+
net-hippie (0.3.2)
|
|
42
41
|
parallel (1.19.1)
|
|
43
|
-
parser (2.7.
|
|
42
|
+
parser (2.7.1.2)
|
|
44
43
|
ast (~> 2.4.0)
|
|
45
44
|
parslet (1.8.2)
|
|
46
|
-
public_suffix (4.0.
|
|
45
|
+
public_suffix (4.0.5)
|
|
47
46
|
rainbow (3.0.0)
|
|
48
47
|
rake (13.0.1)
|
|
48
|
+
rexml (3.2.4)
|
|
49
49
|
rspec (3.9.0)
|
|
50
50
|
rspec-core (~> 3.9.0)
|
|
51
51
|
rspec-expectations (~> 3.9.0)
|
|
52
52
|
rspec-mocks (~> 3.9.0)
|
|
53
|
-
rspec-core (3.9.
|
|
54
|
-
rspec-support (~> 3.9.
|
|
55
|
-
rspec-expectations (3.9.
|
|
53
|
+
rspec-core (3.9.2)
|
|
54
|
+
rspec-support (~> 3.9.3)
|
|
55
|
+
rspec-expectations (3.9.2)
|
|
56
56
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
57
57
|
rspec-support (~> 3.9.0)
|
|
58
58
|
rspec-mocks (3.9.1)
|
|
59
59
|
diff-lcs (>= 1.2.0, < 2.0)
|
|
60
60
|
rspec-support (~> 3.9.0)
|
|
61
|
-
rspec-support (3.9.
|
|
62
|
-
rubocop (0.
|
|
63
|
-
jaro_winkler (~> 1.5.1)
|
|
61
|
+
rspec-support (3.9.3)
|
|
62
|
+
rubocop (0.83.0)
|
|
64
63
|
parallel (~> 1.10)
|
|
65
64
|
parser (>= 2.7.0.1)
|
|
66
65
|
rainbow (>= 2.2.2, < 4.0)
|
|
66
|
+
rexml
|
|
67
67
|
ruby-progressbar (~> 1.7)
|
|
68
|
-
unicode-display_width (>= 1.4.0, <
|
|
69
|
-
rubocop-rspec (1.
|
|
68
|
+
unicode-display_width (>= 1.4.0, < 2.0)
|
|
69
|
+
rubocop-rspec (1.39.0)
|
|
70
70
|
rubocop (>= 0.68.1)
|
|
71
71
|
ruby-progressbar (1.10.1)
|
|
72
72
|
safe_yaml (1.0.5)
|
|
@@ -76,20 +76,20 @@ GEM
|
|
|
76
76
|
tilt-jbuilder (0.7.1)
|
|
77
77
|
jbuilder
|
|
78
78
|
tilt (>= 1.3.0, < 3)
|
|
79
|
-
tzinfo (1.2.
|
|
79
|
+
tzinfo (1.2.7)
|
|
80
80
|
thread_safe (~> 0.1)
|
|
81
|
-
unicode-display_width (1.
|
|
82
|
-
webmock (3.8.
|
|
81
|
+
unicode-display_width (1.7.0)
|
|
82
|
+
webmock (3.8.3)
|
|
83
83
|
addressable (>= 2.3.6)
|
|
84
84
|
crack (>= 0.3.2)
|
|
85
85
|
hashdiff (>= 0.4.0, < 2.0.0)
|
|
86
|
-
zeitwerk (2.
|
|
86
|
+
zeitwerk (2.3.0)
|
|
87
87
|
|
|
88
88
|
PLATFORMS
|
|
89
89
|
ruby
|
|
90
90
|
|
|
91
91
|
DEPENDENCIES
|
|
92
|
-
bundler (~>
|
|
92
|
+
bundler (~> 2.0)
|
|
93
93
|
bundler-audit (~> 0.6)
|
|
94
94
|
byebug
|
|
95
95
|
ffaker (~> 2.7)
|
|
@@ -101,4 +101,4 @@ DEPENDENCIES
|
|
|
101
101
|
webmock (~> 3.5)
|
|
102
102
|
|
|
103
103
|
BUNDLED WITH
|
|
104
|
-
1.
|
|
104
|
+
2.1.4
|
data/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Scim::Kit
|
|
2
2
|
|
|
3
|
-
[](https://github.com/mokhan/scim-kit/actions)
|
|
4
4
|
[](https://codeclimate.com/github/mokhan/scim-kit)
|
|
5
5
|
[](https://rubygems.org/gems/scim-kit)
|
|
6
6
|
|
data/bin/cibuild
CHANGED
|
@@ -1,22 +1,21 @@
|
|
|
1
1
|
#!/bin/sh
|
|
2
2
|
|
|
3
|
-
# script/cibuild: Setup environment for CI to run tests. This is primarily
|
|
4
|
-
# designed to run on the continuous integration server.
|
|
5
|
-
|
|
6
3
|
set -e
|
|
7
4
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
echo ["$(date "+%H:%M:%S")"] "==> Started at…"
|
|
5
|
+
[ -z "$DEBUG" ] || set -x
|
|
11
6
|
|
|
12
|
-
|
|
7
|
+
cd "$(dirname "$0")/.."
|
|
13
8
|
export RUBY_GC_MALLOC_LIMIT=79000000
|
|
14
9
|
export RUBY_GC_HEAP_INIT_SLOTS=800000
|
|
15
10
|
export RUBY_HEAP_FREE_MIN=100000
|
|
16
11
|
export RUBY_HEAP_SLOTS_INCREMENT=400000
|
|
17
12
|
export RUBY_HEAP_SLOTS_GROWTH_FACTOR=1
|
|
18
13
|
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
echo ["$(date "+%H:%M:%S")"] "==> Running setup…"
|
|
15
|
+
bin/setup
|
|
16
|
+
|
|
17
|
+
echo ["$(date "+%H:%M:%S")"] "==> Running tests…"
|
|
21
18
|
bin/test
|
|
19
|
+
|
|
20
|
+
echo ["$(date "+%H:%M:%S")"] "==> Running linters…"
|
|
22
21
|
bin/lint
|
data/bin/lint
CHANGED
data/bin/setup
CHANGED
data/bin/shipit
ADDED
data/bin/test
CHANGED
|
@@ -1,21 +1,9 @@
|
|
|
1
|
-
#!/bin/
|
|
2
|
-
|
|
3
|
-
# script/test: Run test suite for application. Optionally pass in a path to an
|
|
4
|
-
# individual test file to run a single test.
|
|
5
|
-
|
|
1
|
+
#!/bin/sh
|
|
6
2
|
|
|
7
3
|
set -e
|
|
8
4
|
|
|
9
5
|
cd "$(dirname "$0")/.."
|
|
10
6
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
echo ["$(date "+%H:%M:%S")"] "==> Running setup…"
|
|
14
|
-
bin/setup
|
|
7
|
+
export RUBYOPT='-W0'
|
|
15
8
|
|
|
16
|
-
|
|
17
|
-
if [[ $# -eq 0 ]]; then
|
|
18
|
-
bundle exec rake spec
|
|
19
|
-
else
|
|
20
|
-
bundle exec rspec "$1"
|
|
21
|
-
fi
|
|
9
|
+
bundle exec rspec "$@"
|
data/lib/scim/kit.rb
CHANGED
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Scim
|
|
4
|
+
module Kit
|
|
5
|
+
class Http
|
|
6
|
+
attr_reader :driver, :retries
|
|
7
|
+
|
|
8
|
+
def initialize(driver: Http.default_driver, retries: 3)
|
|
9
|
+
@driver = driver
|
|
10
|
+
@retries = retries
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def get(uri)
|
|
14
|
+
driver.with_retry(retries: retries) do |client|
|
|
15
|
+
response = client.get(uri)
|
|
16
|
+
ok?(response) ? JSON.parse(response.body, symbolize_names: true) : {}
|
|
17
|
+
end
|
|
18
|
+
rescue *Net::Hippie::CONNECTION_ERRORS => error
|
|
19
|
+
Scim::Kit.logger.error(error)
|
|
20
|
+
{}
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def self.default_driver
|
|
24
|
+
@default_driver ||= Net::Hippie::Client.new(headers: headers).tap do |http|
|
|
25
|
+
http.logger = Scim::Kit.logger
|
|
26
|
+
http.open_timeout = 1
|
|
27
|
+
http.read_timeout = 5
|
|
28
|
+
http.follow_redirects = 3
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def self.headers
|
|
33
|
+
{
|
|
34
|
+
'Accept' => 'application/scim+json',
|
|
35
|
+
'Content-Type' => 'application/scim+json',
|
|
36
|
+
'User-Agent' => "scim/kit #{Scim::Kit::VERSION}"
|
|
37
|
+
}
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
private
|
|
41
|
+
|
|
42
|
+
def ok?(response)
|
|
43
|
+
response.is_a?(Net::HTTPSuccess)
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
data/lib/scim/kit/v2.rb
CHANGED
|
@@ -40,7 +40,8 @@ module Scim
|
|
|
40
40
|
attr_accessor :resource_types
|
|
41
41
|
attr_accessor :schemas
|
|
42
42
|
|
|
43
|
-
def initialize
|
|
43
|
+
def initialize(http: Scim::Kit::Http.new)
|
|
44
|
+
@http = http
|
|
44
45
|
@resource_types = {}
|
|
45
46
|
@schemas = {}
|
|
46
47
|
|
|
@@ -48,9 +49,11 @@ module Scim
|
|
|
48
49
|
end
|
|
49
50
|
|
|
50
51
|
def load_from(base_url)
|
|
52
|
+
base_url = "#{base_url}/"
|
|
51
53
|
uri = URI.join(base_url, 'ServiceProviderConfig')
|
|
52
|
-
|
|
53
|
-
|
|
54
|
+
json = http.get(uri)
|
|
55
|
+
|
|
56
|
+
self.service_provider_configuration = ServiceProviderConfiguration.parse(json, json)
|
|
54
57
|
|
|
55
58
|
load_items(base_url, 'Schemas', Schema, schemas)
|
|
56
59
|
load_items(base_url, 'ResourceTypes', ResourceType, resource_types)
|
|
@@ -58,25 +61,15 @@ module Scim
|
|
|
58
61
|
|
|
59
62
|
private
|
|
60
63
|
|
|
64
|
+
attr_reader :http
|
|
65
|
+
|
|
61
66
|
def load_items(base_url, path, type, items)
|
|
62
|
-
|
|
63
|
-
hashes = JSON.parse(response.body, symbolize_names: true)
|
|
67
|
+
hashes = http.get(URI.join(base_url, path))
|
|
64
68
|
hashes.each do |hash|
|
|
65
69
|
item = type.from(hash)
|
|
66
70
|
items[item.id] = item
|
|
67
71
|
end
|
|
68
72
|
end
|
|
69
|
-
|
|
70
|
-
def client
|
|
71
|
-
@client ||= Net::Hippie::Client.new
|
|
72
|
-
end
|
|
73
|
-
|
|
74
|
-
def headers
|
|
75
|
-
{
|
|
76
|
-
'Accept' => 'application/scim+json',
|
|
77
|
-
'Content-Type' => 'application/scim+json'
|
|
78
|
-
}
|
|
79
|
-
end
|
|
80
73
|
end
|
|
81
74
|
end
|
|
82
75
|
end
|
data/lib/scim/kit/version.rb
CHANGED
data/scim-kit.gemspec
CHANGED
|
@@ -27,15 +27,15 @@ Gem::Specification.new do |spec|
|
|
|
27
27
|
File.basename(file)
|
|
28
28
|
end
|
|
29
29
|
spec.require_paths = ['lib']
|
|
30
|
-
spec.required_ruby_version = '>= 2.5.0'
|
|
30
|
+
spec.required_ruby_version = Gem::Requirement.new('>= 2.5.0')
|
|
31
31
|
spec.metadata['yard.run'] = 'yri'
|
|
32
32
|
|
|
33
33
|
spec.add_dependency 'activemodel', '>= 5.2.0'
|
|
34
|
-
spec.add_dependency 'net-hippie', '~> 0.
|
|
34
|
+
spec.add_dependency 'net-hippie', '~> 0.3'
|
|
35
35
|
spec.add_dependency 'parslet', '~> 1.8'
|
|
36
36
|
spec.add_dependency 'tilt', '~> 2.0'
|
|
37
37
|
spec.add_dependency 'tilt-jbuilder', '~> 0.7'
|
|
38
|
-
spec.add_development_dependency 'bundler', '~>
|
|
38
|
+
spec.add_development_dependency 'bundler', '~> 2.0'
|
|
39
39
|
spec.add_development_dependency 'bundler-audit', '~> 0.6'
|
|
40
40
|
spec.add_development_dependency 'byebug'
|
|
41
41
|
spec.add_development_dependency 'ffaker', '~> 2.7'
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: scim-kit
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.5.
|
|
4
|
+
version: 0.5.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- mo
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-
|
|
11
|
+
date: 2020-05-20 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activemodel
|
|
@@ -30,14 +30,14 @@ dependencies:
|
|
|
30
30
|
requirements:
|
|
31
31
|
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '0.
|
|
33
|
+
version: '0.3'
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '0.
|
|
40
|
+
version: '0.3'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: parslet
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -86,14 +86,14 @@ dependencies:
|
|
|
86
86
|
requirements:
|
|
87
87
|
- - "~>"
|
|
88
88
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: '
|
|
89
|
+
version: '2.0'
|
|
90
90
|
type: :development
|
|
91
91
|
prerelease: false
|
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
|
93
93
|
requirements:
|
|
94
94
|
- - "~>"
|
|
95
95
|
- !ruby/object:Gem::Version
|
|
96
|
-
version: '
|
|
96
|
+
version: '2.0'
|
|
97
97
|
- !ruby/object:Gem::Dependency
|
|
98
98
|
name: bundler-audit
|
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -214,11 +214,11 @@ executables:
|
|
|
214
214
|
extensions: []
|
|
215
215
|
extra_rdoc_files: []
|
|
216
216
|
files:
|
|
217
|
+
- ".github/workflows/ci.yml"
|
|
217
218
|
- ".gitignore"
|
|
218
219
|
- ".gitlab-ci.yml"
|
|
219
220
|
- ".rspec"
|
|
220
221
|
- ".rubocop.yml"
|
|
221
|
-
- ".travis.yml"
|
|
222
222
|
- CHANGELOG.md
|
|
223
223
|
- Gemfile
|
|
224
224
|
- Gemfile.lock
|
|
@@ -229,11 +229,13 @@ files:
|
|
|
229
229
|
- bin/console
|
|
230
230
|
- bin/lint
|
|
231
231
|
- bin/setup
|
|
232
|
+
- bin/shipit
|
|
232
233
|
- bin/test
|
|
233
234
|
- exe/scim-kit
|
|
234
235
|
- lib/scim-kit.rb
|
|
235
236
|
- lib/scim/kit.rb
|
|
236
237
|
- lib/scim/kit/dynamic_attributes.rb
|
|
238
|
+
- lib/scim/kit/http.rb
|
|
237
239
|
- lib/scim/kit/templatable.rb
|
|
238
240
|
- lib/scim/kit/template.rb
|
|
239
241
|
- lib/scim/kit/v2.rb
|
|
@@ -291,7 +293,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
291
293
|
- !ruby/object:Gem::Version
|
|
292
294
|
version: '0'
|
|
293
295
|
requirements: []
|
|
294
|
-
rubygems_version: 3.1.
|
|
296
|
+
rubygems_version: 3.1.3
|
|
295
297
|
signing_key:
|
|
296
298
|
specification_version: 4
|
|
297
299
|
summary: A simple toolkit for working with SCIM 2.0
|