debian-mirror-gitlab/app/services/users/email_verification/base_service.rb
2022-10-11 01:57:18 +05:30

27 lines
507 B
Ruby

# frozen_string_literal: true
module Users
module EmailVerification
class BaseService
VALID_ATTRS = %i[unlock_token confirmation_token].freeze
def initialize(attr:)
@attr = attr
validate_attr!
end
protected
attr_reader :attr, :token
def validate_attr!
raise ArgumentError, 'Invalid attribute' unless attr.in?(VALID_ATTRS)
end
def digest
Devise.token_generator.digest(User, attr, token)
end
end
end
end