32 lines
878 B
Ruby
32 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
|