# frozen_string_literal: true require 'securerandom' class Tournament < ApplicationRecord belongs_to :user has_many :teams, dependent: :destroy has_many :stages, dependent: :destroy validates :name, presence: true validates :code, presence: true, uniqueness: true alias_attribute :owner, :user after_initialize :generate_code private def generate_code return unless code.nil? loop do self.code = SecureRandom.hex(3) break if errors['code'].blank? end end end