23 lines
796 B
Ruby
23 lines
796 B
Ruby
# frozen_string_literal: true
|
|
|
|
class WowReputation < ApplicationRecord
|
|
extend Mobility
|
|
translates :name, :description, :translated_faction
|
|
|
|
has_many :wow_standings, dependent: :destroy
|
|
has_many :wow_characters, through: :wow_standings
|
|
belongs_to :wow_reputation_tier, optional: true
|
|
has_many :sub_wow_reputations,
|
|
class_name: 'WowReputation',
|
|
foreign_key: 'meta_wow_reputation_id',
|
|
dependent: :nullify,
|
|
inverse_of: :meta_wow_reputation
|
|
belongs_to :meta_wow_reputation, class_name: 'WowReputation', optional: true
|
|
|
|
validates :name, presence: true
|
|
validates :reputation_id, presence: true, uniqueness: true
|
|
|
|
scope :meta_reputations, -> { where(description: nil) }
|
|
scope :non_meta_reputations, -> { where.not(description: nil) }
|
|
end
|