turniere-backend/app/models/tournament.rb

28 lines
511 B
Ruby

# 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