# frozen_string_literal: true class WowAchievement < ApplicationRecord extend Mobility translates :name, :description, :reward_description belongs_to :wow_achievement_category, optional: true belongs_to :wow_achievement_criterium, optional: true belongs_to :prerequisite_achievement, class_name: 'WowAchievement', optional: true has_one :next_achievement, class_name: 'WowAchievement', foreign_key: 'prerequisite_achievement_id', dependent: :nullify, inverse_of: :prerequisite_achievement has_many :completed_wow_achievements, dependent: :destroy has_many :wow_characters, through: :completed_wow_achievements validates :name, presence: true validates :achievement_id, presence: true, uniqueness: true end