Class: Soar::Registry::Identity::Provider::Customer::ClientNumber

Inherits:
SoarIdm::IdmApi
  • Object
show all
Defined in:
lib/soar/registry/identity/provider/customer/client_number.rb

Instance Method Summary collapse

Constructor Details

#initialize(directory:, fetch_index:, search_index:) ⇒ ClientNumber

Returns a new instance of ClientNumber.

Parameters:

  • directory (Soar::Registry::Directory)


13
14
15
16
17
# File 'lib/soar/registry/identity/provider/customer/client_number.rb', line 13

def initialize(directory:, fetch_index: , search_index: )
  @directory = directory
  @fetch_index = fetch_index
  @search_index = search_index
end

Instance Method Details

#calculate_all_attributes(identity) ⇒ Hash

Returns Hash of attributes keyed by role.

Parameters:

  • identity (Hash)

Returns:

  • (Hash)

    Hash of attributes keyed by role

Raises:

  • (NotImplementedError)


59
60
61
# File 'lib/soar/registry/identity/provider/customer/client_number.rb', line 59

def calculate_all_attributes(identity)
  raise NotImplementedError
end

#calculate_attributes(identity, role) ⇒ Hash

Returns A hash of attributes.

Parameters:

  • identity (Hash)
  • role (String)

Returns:

  • (Hash)

    A hash of attributes

Raises:

  • (NotImplementedError)


52
53
54
# File 'lib/soar/registry/identity/provider/customer/client_number.rb', line 52

def calculate_attributes(identity, role)
  raise NotImplementedError
end

#calculate_identifiers(identity) ⇒ Array

Returns list of identifiers.

Parameters:

  • identity (Hash)

Returns:

  • (Array)

    list of identifiers



32
33
34
35
36
37
38
39
# File 'lib/soar/registry/identity/provider/customer/client_number.rb', line 32

def calculate_identifiers(identity)
  indexes = @directory.index
  identifiers = []
  indexes.each { |index| 
    identifiers << identity[index]
  }
  identifiers.compact
end

#calculate_identities(identity_identifier) ⇒ Hash

Returns an identity.

Parameters:

  • identifier, (String)

    an email address that uniquely identifies an identity

Returns:

  • (Hash)

    an identity



23
24
25
26
# File 'lib/soar/registry/identity/provider/customer/client_number.rb', line 23

def calculate_identities(identity_identifier)
  entries = @directory.search(@search_index, identity_identifier)
  return entries.empty? ? [] : [entries[0]]
end

#calculate_roles(identity) ⇒ Array

Returns list of roles.

Parameters:

  • identity (Hash)

Returns:

  • (Array)

    list of roles

Raises:

  • (NotImplementedError)


44
45
46
# File 'lib/soar/registry/identity/provider/customer/client_number.rb', line 44

def calculate_roles(identity)
  raise NotImplementedError
end