class QuizResult < ApplicationRecord validates :share_id, presence: true, uniqueness: true validates :player_name, :stats, :score, presence: true before_validation :generate_share_id, on: :create private def generate_share_id self.share_id = SecureRandom.urlsafe_base64(8) if share_id.blank? # Ensure uniqueness (very unlikely collision but good practice) generate_share_id if QuizResult.exists?(share_id: share_id) end end