annotation ExportEnum
Overview
Exports a property whose values are constrained to an enumeration or list of string choices.
Can take a list of string choices, or a Crystal Enum type directly (@[ExportEnum(MyEnum)]).
enum CharacterClass
Warrior
Mage
Rogue
end
# Strongly-typed Crystal enum:
@[ExportEnum(CharacterClass)]
property character_class : CharacterClass = CharacterClass::Warrior
# Integer property with enum dropdown:
@[ExportEnum(CharacterClass)]
property class_id : Int32 = 0
# String choice list:
@[ExportEnum("Warrior", "Mage", "Rogue")]
property class_name : String = "Warrior"