Sha256: 947c92c3fbd71dd3126dd9417f3a266f8459232a821f1e428614898d383e133e
Contents?: true
Size: 664 Bytes
Versions: 13
Compression:
Stored size: 664 Bytes
Contents
class CodeManager::Confirmation < CodeManager # @return [CodeType] def self.code_type @code_type ||= CodeType.find_by!(slug: 'confirmation') end # @param [User] user def self.code_for_user(user) code = code_type.codes.active.find_by(user: user) if code.nil? code = code_type.codes.create(user: user, payload: user.email) end code end def code_is_valid? return false if @code.nil? @code.active? && @code.code_type == self.class.code_type end def activate return if @code.quantity < 1 @code.decrement!(:quantity) @code.user.update email_confirmed: true if @code.payload == @code.user.email end end
Version data entries
13 entries across 13 versions & 1 rubygems