class Soar::Registry::Identity::Provider::Staff::Email
Public Class Methods
new(directory:, fetch_index:, search_index:)
click to toggle source
@param [Soar::Registry::Directory] directory
# File lib/soar/registry/identity/provider/staff/email.rb, line 13 def initialize(directory:, fetch_index:, search_index:) @directory = directory @fetch_index = fetch_index @search_index = search_index end
Public Instance Methods
calculate_all_attributes(identity)
click to toggle source
@param [Hash] identity @return [Hash] Hash of attributes keyed by role
# File lib/soar/registry/identity/provider/staff/email.rb, line 62 def calculate_all_attributes(identity) identity end
calculate_attributes(identity, role)
click to toggle source
@param [Hash] identity @param [String] role @return [Hash] A hash of attributes
# File lib/soar/registry/identity/provider/staff/email.rb, line 55 def calculate_attributes(identity, role) raise NotImplementedError end
calculate_identifiers(identity)
click to toggle source
@param [Hash] identity @return [Array] list of identifiers
# File lib/soar/registry/identity/provider/staff/email.rb, line 35 def calculate_identifiers(identity) indexes = @directory.index identifiers = [] indexes.each { |index| identifiers << identity[index] } identifiers end
calculate_identities(email)
click to toggle source
@param [String] email
an email address that uniquely identifies an identity
@return [Hash] an identity
# File lib/soar/registry/identity/provider/staff/email.rb, line 24 def calculate_identities(email) return @identities if not @identities.nil? entries = @directory.search(@search_index, email) @identities = entries.empty? ? [] : [entries[0]] return @identities end
calculate_roles(identity)
click to toggle source
@param [Hash] identity @return [Array] list of roles
# File lib/soar/registry/identity/provider/staff/email.rb, line 47 def calculate_roles(identity) raise NotImplementedError end