Наличие структуры со следующим перечислением:
struct Payment
enum Status
Open
Paid
Failed
def to_s
super.downcase
end
end
getter status : String
end
Как получить доступ к именам перечислений в макросе для создания методов, таких как open?
, paid?
и failed?
?
РЕШЕНИЕ
Исходя из предложения @Jonne Haß, я хотел бы достичь:
{% for value in Status.constants %}
{% downcased = value.stringify.downcase %}
def {{ downcased.id }}?
{{ downcased }} == status
end
{% end %}