scim-shady 0.2.1 → 0.3.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/.gitlab-ci.yml +2 -2
- data/.travis.yml +2 -2
- data/README.md +6 -5
- data/lib/scim/shady.rb +6 -19
- data/lib/scim/shady/enterprise_user.rb +93 -0
- data/lib/scim/shady/group.rb +49 -17
- data/lib/scim/shady/user.rb +550 -63
- data/lib/scim/shady/version.rb +1 -1
- data/scim-shady.gemspec +3 -2
- metadata +12 -38
- data/lib/scim/shady/address.rb +0 -41
- data/lib/scim/shady/buildable.rb +0 -21
- data/lib/scim/shady/builders.rb +0 -14
- data/lib/scim/shady/builders/addresses.rb +0 -24
- data/lib/scim/shady/builders/bulk.rb +0 -19
- data/lib/scim/shady/builders/emails.rb +0 -16
- data/lib/scim/shady/builders/filter.rb +0 -17
- data/lib/scim/shady/builders/groups.rb +0 -16
- data/lib/scim/shady/builders/instant_messengers.rb +0 -16
- data/lib/scim/shady/builders/metadata.rb +0 -29
- data/lib/scim/shady/builders/name.rb +0 -27
- data/lib/scim/shady/builders/phone_numbers.rb +0 -16
- data/lib/scim/shady/builders/photos.rb +0 -16
- data/lib/scim/shady/builders/resource.rb +0 -26
- data/lib/scim/shady/builders/service_provider_config.rb +0 -87
- data/lib/scim/shady/builders/user.rb +0 -96
- data/lib/scim/shady/builders/x509_certificates.rb +0 -16
- data/lib/scim/shady/instant_messenger.rb +0 -21
- data/lib/scim/shady/metadata.rb +0 -45
- data/lib/scim/shady/name.rb +0 -17
- data/lib/scim/shady/phone_number.rb +0 -29
- data/lib/scim/shady/photo.rb +0 -29
- data/lib/scim/shady/resource.rb +0 -25
- data/lib/scim/shady/schemas.rb +0 -17
- data/lib/scim/shady/service_provider_config.rb +0 -71
- data/lib/scim/shady/x509_certificate.rb +0 -17
data/lib/scim/shady/version.rb
CHANGED
data/scim-shady.gemspec
CHANGED
@@ -20,9 +20,10 @@ Gem::Specification.new do |spec|
|
|
20
20
|
spec.bindir = "exe"
|
21
21
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
22
22
|
spec.require_paths = ["lib"]
|
23
|
+
spec.required_ruby_version = '>= 2.6.0'
|
23
24
|
|
24
|
-
spec.add_dependency "
|
25
|
-
spec.add_development_dependency "bundler", "~>
|
25
|
+
spec.add_dependency "scim-kit", "~> 0.2"
|
26
|
+
spec.add_development_dependency "bundler", "~> 2.0"
|
26
27
|
spec.add_development_dependency "rake", "~> 10.0"
|
27
28
|
spec.add_development_dependency "rspec", "~> 3.0"
|
28
29
|
spec.add_development_dependency "ffaker"
|
metadata
CHANGED
@@ -1,43 +1,43 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: scim-shady
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- mo
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-02-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: scim-kit
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: '0.2'
|
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:
|
26
|
+
version: '0.2'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: bundler
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '
|
33
|
+
version: '2.0'
|
34
34
|
type: :development
|
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: '
|
40
|
+
version: '2.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rake
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -98,35 +98,10 @@ files:
|
|
98
98
|
- bin/console
|
99
99
|
- bin/setup
|
100
100
|
- lib/scim/shady.rb
|
101
|
-
- lib/scim/shady/
|
102
|
-
- lib/scim/shady/buildable.rb
|
103
|
-
- lib/scim/shady/builders.rb
|
104
|
-
- lib/scim/shady/builders/addresses.rb
|
105
|
-
- lib/scim/shady/builders/bulk.rb
|
106
|
-
- lib/scim/shady/builders/emails.rb
|
107
|
-
- lib/scim/shady/builders/filter.rb
|
108
|
-
- lib/scim/shady/builders/groups.rb
|
109
|
-
- lib/scim/shady/builders/instant_messengers.rb
|
110
|
-
- lib/scim/shady/builders/metadata.rb
|
111
|
-
- lib/scim/shady/builders/name.rb
|
112
|
-
- lib/scim/shady/builders/phone_numbers.rb
|
113
|
-
- lib/scim/shady/builders/photos.rb
|
114
|
-
- lib/scim/shady/builders/resource.rb
|
115
|
-
- lib/scim/shady/builders/service_provider_config.rb
|
116
|
-
- lib/scim/shady/builders/user.rb
|
117
|
-
- lib/scim/shady/builders/x509_certificates.rb
|
101
|
+
- lib/scim/shady/enterprise_user.rb
|
118
102
|
- lib/scim/shady/group.rb
|
119
|
-
- lib/scim/shady/instant_messenger.rb
|
120
|
-
- lib/scim/shady/metadata.rb
|
121
|
-
- lib/scim/shady/name.rb
|
122
|
-
- lib/scim/shady/phone_number.rb
|
123
|
-
- lib/scim/shady/photo.rb
|
124
|
-
- lib/scim/shady/resource.rb
|
125
|
-
- lib/scim/shady/schemas.rb
|
126
|
-
- lib/scim/shady/service_provider_config.rb
|
127
103
|
- lib/scim/shady/user.rb
|
128
104
|
- lib/scim/shady/version.rb
|
129
|
-
- lib/scim/shady/x509_certificate.rb
|
130
105
|
- scim-shady.gemspec
|
131
106
|
homepage: http://www.mokhan.ca/
|
132
107
|
licenses:
|
@@ -140,15 +115,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
140
115
|
requirements:
|
141
116
|
- - ">="
|
142
117
|
- !ruby/object:Gem::Version
|
143
|
-
version:
|
118
|
+
version: 2.6.0
|
144
119
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
145
120
|
requirements:
|
146
121
|
- - ">="
|
147
122
|
- !ruby/object:Gem::Version
|
148
123
|
version: '0'
|
149
124
|
requirements: []
|
150
|
-
|
151
|
-
rubygems_version: 2.7.5
|
125
|
+
rubygems_version: 3.0.2
|
152
126
|
signing_key:
|
153
127
|
specification_version: 4
|
154
128
|
summary: A simple toolkit for implementing SCIM schema. https://tools.ietf.org/html/rfc7643
|
data/lib/scim/shady/address.rb
DELETED
@@ -1,41 +0,0 @@
|
|
1
|
-
module Scim
|
2
|
-
module Shady
|
3
|
-
class Address
|
4
|
-
def initialize(hash)
|
5
|
-
@hash = hash
|
6
|
-
end
|
7
|
-
|
8
|
-
def street_address
|
9
|
-
to_h['streetAddress']
|
10
|
-
end
|
11
|
-
|
12
|
-
def locality
|
13
|
-
to_h['locality']
|
14
|
-
end
|
15
|
-
|
16
|
-
def region
|
17
|
-
to_h['region']
|
18
|
-
end
|
19
|
-
|
20
|
-
def postal_code
|
21
|
-
to_h['postalCode']
|
22
|
-
end
|
23
|
-
|
24
|
-
def country
|
25
|
-
to_h['country']
|
26
|
-
end
|
27
|
-
|
28
|
-
def formatted
|
29
|
-
"#{street_address}\n#{locality}, #{region} #{postal_code} #{country}"
|
30
|
-
end
|
31
|
-
|
32
|
-
def primary?
|
33
|
-
to_h['primary']
|
34
|
-
end
|
35
|
-
|
36
|
-
def to_h
|
37
|
-
@hash
|
38
|
-
end
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
data/lib/scim/shady/buildable.rb
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
module Scim
|
2
|
-
module Shady
|
3
|
-
module Buildable
|
4
|
-
extend ActiveSupport::Concern
|
5
|
-
|
6
|
-
class_methods do
|
7
|
-
def build
|
8
|
-
builder do |builder|
|
9
|
-
yield builder if block_given?
|
10
|
-
end.build
|
11
|
-
end
|
12
|
-
|
13
|
-
def builder
|
14
|
-
builder = builder_class.new
|
15
|
-
yield builder if block_given?
|
16
|
-
builder
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
20
|
-
end
|
21
|
-
end
|
data/lib/scim/shady/builders.rb
DELETED
@@ -1,14 +0,0 @@
|
|
1
|
-
require "scim/shady/builders/addresses"
|
2
|
-
require "scim/shady/builders/bulk"
|
3
|
-
require "scim/shady/builders/emails"
|
4
|
-
require "scim/shady/builders/filter"
|
5
|
-
require "scim/shady/builders/groups"
|
6
|
-
require "scim/shady/builders/instant_messengers"
|
7
|
-
require "scim/shady/builders/metadata"
|
8
|
-
require "scim/shady/builders/name"
|
9
|
-
require "scim/shady/builders/phone_numbers"
|
10
|
-
require "scim/shady/builders/photos"
|
11
|
-
require "scim/shady/builders/resource"
|
12
|
-
require "scim/shady/builders/service_provider_config"
|
13
|
-
require "scim/shady/builders/user"
|
14
|
-
require "scim/shady/builders/x509_certificates"
|
@@ -1,24 +0,0 @@
|
|
1
|
-
module Scim
|
2
|
-
module Shady
|
3
|
-
module Builders
|
4
|
-
class Addresses
|
5
|
-
def add(type:, street_address:, locality:, region:, postal_code:, country:, primary: false)
|
6
|
-
@items ||= []
|
7
|
-
@items.push(
|
8
|
-
type: type,
|
9
|
-
streetAddress: street_address,
|
10
|
-
locality: locality,
|
11
|
-
region: region,
|
12
|
-
postalCode: postal_code,
|
13
|
-
country: country,
|
14
|
-
primary: primary,
|
15
|
-
)
|
16
|
-
end
|
17
|
-
|
18
|
-
def to_h
|
19
|
-
{ 'addresses' => @items }
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
@@ -1,19 +0,0 @@
|
|
1
|
-
module Scim
|
2
|
-
module Shady
|
3
|
-
module Builders
|
4
|
-
class Bulk
|
5
|
-
attr_accessor :supported
|
6
|
-
attr_accessor :max_operations
|
7
|
-
attr_accessor :max_payload_size
|
8
|
-
|
9
|
-
def to_h
|
10
|
-
{
|
11
|
-
'supported' => supported,
|
12
|
-
'maxOperations' => max_operations,
|
13
|
-
'maxPayloadSize' => max_payload_size,
|
14
|
-
}
|
15
|
-
end
|
16
|
-
end
|
17
|
-
end
|
18
|
-
end
|
19
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
module Scim
|
2
|
-
module Shady
|
3
|
-
module Builders
|
4
|
-
class Emails
|
5
|
-
def add(email, type: :work, primary: false)
|
6
|
-
@items ||= []
|
7
|
-
@items.push(value: email, type: type, primary: primary)
|
8
|
-
end
|
9
|
-
|
10
|
-
def to_h
|
11
|
-
{ 'emails' => @items }
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
module Scim
|
2
|
-
module Shady
|
3
|
-
module Builders
|
4
|
-
class Groups
|
5
|
-
def add(id, url, display_name)
|
6
|
-
@items ||= []
|
7
|
-
@items.push(value: id, '$ref' => url, display: display_name)
|
8
|
-
end
|
9
|
-
|
10
|
-
def to_h
|
11
|
-
{ 'groups' => @items }
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
@@ -1,29 +0,0 @@
|
|
1
|
-
module Scim
|
2
|
-
module Shady
|
3
|
-
module Builders
|
4
|
-
class Metadata
|
5
|
-
attr_accessor :created_at
|
6
|
-
attr_accessor :updated_at
|
7
|
-
attr_accessor :location
|
8
|
-
attr_accessor :version
|
9
|
-
|
10
|
-
def initialize(resource)
|
11
|
-
@resource = resource
|
12
|
-
@created_at = @updated_at = Time.now
|
13
|
-
end
|
14
|
-
|
15
|
-
def to_h
|
16
|
-
{
|
17
|
-
'meta' => {
|
18
|
-
'resourceType' => @resource.class.name.split(/::/).last,
|
19
|
-
'created' => created_at.to_time.utc.iso8601,
|
20
|
-
'lastModified' => updated_at.to_time.utc.iso8601,
|
21
|
-
'location' => location,
|
22
|
-
'version' => version,
|
23
|
-
},
|
24
|
-
}
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
@@ -1,27 +0,0 @@
|
|
1
|
-
module Scim
|
2
|
-
module Shady
|
3
|
-
module Builders
|
4
|
-
class Name
|
5
|
-
attr_accessor :family_name
|
6
|
-
attr_accessor :given_name
|
7
|
-
attr_accessor :middle_name
|
8
|
-
attr_accessor :honorific_prefix
|
9
|
-
attr_accessor :honorific_suffix
|
10
|
-
attr_accessor :formatted
|
11
|
-
|
12
|
-
def to_h
|
13
|
-
{
|
14
|
-
'name' => {
|
15
|
-
'formatted' => formatted,
|
16
|
-
'familyName' => family_name,
|
17
|
-
'givenName' => given_name,
|
18
|
-
'middleName' => middle_name,
|
19
|
-
'honorificPrefix' => honorific_prefix,
|
20
|
-
'honorificSuffix' => honorific_suffix,
|
21
|
-
}
|
22
|
-
}
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
@@ -1,16 +0,0 @@
|
|
1
|
-
module Scim
|
2
|
-
module Shady
|
3
|
-
module Builders
|
4
|
-
class PhoneNumbers
|
5
|
-
def add(phone_number, type: :work)
|
6
|
-
@items ||= []
|
7
|
-
@items.push(value: phone_number, type: type)
|
8
|
-
end
|
9
|
-
|
10
|
-
def to_h
|
11
|
-
{ 'phoneNumbers' => @items }
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
16
|
-
end
|
@@ -1,26 +0,0 @@
|
|
1
|
-
module Scim
|
2
|
-
module Shady
|
3
|
-
module Builders
|
4
|
-
class Resource
|
5
|
-
extend Forwardable
|
6
|
-
attr_accessor :id
|
7
|
-
def_delegators :@meta, :created_at=, :updated_at=, :location=, :version=
|
8
|
-
|
9
|
-
def initialize
|
10
|
-
@meta = Metadata.new(self)
|
11
|
-
end
|
12
|
-
|
13
|
-
def meta
|
14
|
-
yield @meta
|
15
|
-
end
|
16
|
-
|
17
|
-
def to_h
|
18
|
-
{
|
19
|
-
'schemas' => [],
|
20
|
-
'id' => id,
|
21
|
-
}.merge(@meta.to_h)
|
22
|
-
end
|
23
|
-
end
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|