Class: Soar::Authentication::IdentityUuidTranslator::Provider::Customer
- Inherits:
-
Object
- Object
- Soar::Authentication::IdentityUuidTranslator::Provider::Customer
- Defined in:
- lib/soar/authentication/identity_uuid_translator/provider/customer.rb
Constant Summary collapse
- ROLE =
"customer_account_administrator"- PREFIX =
"genie:client:id:"
Instance Method Summary collapse
- #client_number ⇒ String|Nil
-
#initialize(identifier:, identity_registry:, uuid_generator: nil, role_generator: nil) ⇒ Customer
constructor
A new instance of Customer.
- #uuid ⇒ Object
Constructor Details
#initialize(identifier:, identity_registry:, uuid_generator: nil, role_generator: nil) ⇒ Customer
Returns a new instance of Customer.
19 20 21 22 23 24 |
# File 'lib/soar/authentication/identity_uuid_translator/provider/customer.rb', line 19 def initialize(identifier: , identity_registry: , uuid_generator: nil, role_generator: nil) @idr = identity_registry @uuid_generator = uuid_generator @identifier = identifier @role_generator = role_generator end |
Instance Method Details
#client_number ⇒ String|Nil
41 42 43 44 45 46 47 |
# File 'lib/soar/authentication/identity_uuid_translator/provider/customer.rb', line 41 def client_number client_number = @identifiers.map do |identifier| next if not identifier.is_a?(String) # it's an ID break identifier if /\A[CF]{0,1}\d+\z/i.match(identifier) end client_number.is_a?(Array) ? nil : client_number end |
#uuid ⇒ Object
26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/soar/authentication/identity_uuid_translator/provider/customer.rb', line 26 def uuid return @uuid if not @uuid.nil? @identifiers = @idr.get_identifiers(@identifier) @uuid = @uuid_generator.nil? ? @identifiers[0] : @uuid_generator::generate("#{PREFIX}#{@identifiers[0]}") @role_generator.generate({ "identity_uuid" => uuid, "identity_role" => ROLE, "identity_role_attributes" => [client_number].compact }) if not @role_generator.nil? return @uuid end |