otwarchive-symphonyarchive/app/models/archive_warning.rb
2026-03-11 22:22:11 +00:00

31 lines
878 B
Ruby

class ArchiveWarning < Tag
validates :canonical, presence: { message: "^Only canonical warning tags are allowed." }
NAME = ArchiveConfig.WARNING_CATEGORY_NAME
DISPLAY_NAME_MAPPING = {
ArchiveConfig.WARNING_DEFAULT_TAG_NAME => ArchiveConfig.WARNING_DEFAULT_TAG_DISPLAY_NAME,
ArchiveConfig.WARNING_NONE_TAG_NAME => ArchiveConfig.WARNING_NONE_TAG_DISPLAY_NAME
}.freeze
def self.warning_tags
Set[ArchiveConfig.WARNING_DEFAULT_TAG_NAME,
ArchiveConfig.WARNING_NONE_TAG_NAME,
ArchiveConfig.WARNING_VIOLENCE_TAG_NAME,
ArchiveConfig.WARNING_DEATH_TAG_NAME,
ArchiveConfig.WARNING_NONCON_TAG_NAME,
ArchiveConfig.WARNING_CHAN_TAG_NAME]
end
def self.warning?(warning)
warning_tags.include? warning
end
def self.label_name
"Warnings"
end
def display_name
DISPLAY_NAME_MAPPING[name] || name
end
end