Class: ScimEngine::Schema::User

Inherits:
Base
  • Object
show all
Defined in:
app/models/scim_engine/schema/user.rb

Overview

Represnts the schema for the User resource

See Also:

Instance Attribute Summary

Attributes inherited from Base

#description, #id, #meta, #name, #scim_attributes

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Base

#as_json, cloned_scim_attributes, valid?

Constructor Details

#initialize(options = {}) ⇒ User

Returns a new instance of User.



7
8
9
10
11
12
13
# File 'app/models/scim_engine/schema/user.rb', line 7

def initialize(options = {})
  super(name: 'User',
        id: self.class.id,
        description: 'Represents a User',
        scim_attributes: self.class.scim_attributes)

end

Class Method Details

.idObject



15
16
17
# File 'app/models/scim_engine/schema/user.rb', line 15

def self.id
  'urn:ietf:params:scim:schemas:core:2.0:User'
end

.scim_attributesObject



19
20
21
22
23
24
25
26
# File 'app/models/scim_engine/schema/user.rb', line 19

def self.scim_attributes
  [
    Attribute.new(name: 'userName', type: 'string', uniqueness: 'server'),
    Attribute.new(name: 'name', complexType: ScimEngine::ComplexTypes::Name),
    Attribute.new(name: 'emails', multiValued: true, complexType: ScimEngine::ComplexTypes::Email),
    Attribute.new(name: 'groups', multiValued: true, mutability: 'immutable', complexType: ScimEngine::ComplexTypes::Reference)
  ]
end