class Tanker::CTanker::CVerification
Constants
- TYPE_EMAIL
- TYPE_OIDC_ID_TOKEN
- TYPE_PASSPHRASE
- TYPE_PHONE_NUMBER
- TYPE_VERIFICATION_KEY
Public Class Methods
new(verification)
click to toggle source
Calls superclass method
# File lib/tanker/c_tanker/c_verification.rb, line 60 def initialize(verification) super() unless verification.is_a? Tanker::Verification raise TypeError, 'Verification argument is not a Tanker::Verification' end # NOTE: Instance variables are required to keep the CStrings alive case verification when Tanker::EmailVerification self[:type] = TYPE_EMAIL self[:email_verification] = CEmailVerification.new verification.email, verification.verification_code when Tanker::PassphraseVerification @passphrase = CTanker.new_cstring verification.passphrase self[:type] = TYPE_PASSPHRASE self[:passphrase] = @passphrase when Tanker::VerificationKeyVerification @verification_key = CTanker.new_cstring verification.verification_key self[:type] = TYPE_VERIFICATION_KEY self[:verification_key] = @verification_key when Tanker::OIDCIDTokenVerification @oidc_id_token = CTanker.new_cstring verification.oidc_id_token self[:type] = TYPE_OIDC_ID_TOKEN self[:oidc_id_token] = @oidc_id_token when Tanker::PhoneNumberVerification self[:type] = TYPE_PHONE_NUMBER self[:phone_number_verification] = CPhoneNumberVerification.new verification.phone_number, verification.verification_code else raise ArgumentError, 'Unknown Tanker::Verification type!' end self[:version] = 4 end