# frozen_string_literal: true class WowCharacter < ApplicationRecord extend Mobility translates :translated_faction, :translated_gender belongs_to :user belongs_to :wow_realm belongs_to :wow_class belongs_to :wow_race belongs_to :wow_character_title, optional: true belongs_to :last_position, class_name: 'WowGeoPosition', optional: true belongs_to :bind_position, class_name: 'WowGeoPosition', optional: true has_one :wow_character_medium, dependent: :nullify validates :name, presence: true validates :character_id, presence: true, uniqueness: true def gender_class_name case gender when 'FEMALE' wow_class.female_name when 'MALE' wow_class.male_name end end def gender_race_name case gender when 'FEMALE' wow_race.female_name when 'MALE' wow_race.male_name end end def title_name if wow_character_title case gender when 'FEMALE' wow_character_title.female_name.gsub('{name}', name) when 'MALE' wow_character_title.male_name.gsub('{name}', name) end else name end end end