valkyrie_qualifier/
enumerations.rs

1use schemars::JsonSchema;
2use serde::{Deserialize, Serialize};
3use std::fmt;
4use std::fmt::Formatter;
5
6#[derive(Serialize, Deserialize, Clone, Debug, PartialEq, JsonSchema)]
7#[serde(rename_all = "snake_case")]
8pub enum QualifiedContinueOption {
9    Eligible,
10    Ineligible,
11}
12
13impl QualifiedContinueOption {
14    pub fn can_participate(&self) -> bool {
15        match self {
16            QualifiedContinueOption::Eligible => true,
17            QualifiedContinueOption::Ineligible => false,
18        }
19    }
20
21    pub fn is_error(&self) -> bool {
22        match self {
23            QualifiedContinueOption::Eligible => false,
24            QualifiedContinueOption::Ineligible => true,
25        }
26    }
27}
28
29impl fmt::Display for QualifiedContinueOption {
30    fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
31        match self {
32            QualifiedContinueOption::Eligible => f.write_str("eligible"),
33            QualifiedContinueOption::Ineligible => f.write_str("ineligible"),
34        }
35    }
36}