Sha256: 613ab43175a397cfef3a55085335d143a9577c2f439a0b2f360c72ed871f677b
Contents?: true
Size: 499 Bytes
Versions: 5
Compression:
Stored size: 499 Bytes
Contents
# frozen_string_literal: true class Invite < ApplicationRecord include PagesCore::Emailable include PagesCore::HasRoles belongs_to :user has_many :roles, class_name: "InviteRole", dependent: :destroy before_validation :ensure_token validates :token, presence: true validate :user_already_exists private def ensure_token self.token ||= SecureRandom.hex(32) end def user_already_exists return unless User.find_by(email:) errors.add(:email, :taken) end end
Version data entries
5 entries across 5 versions & 1 rubygems