Skip to main content

opendev_runtime/todo/
status.rs

1use serde::{Deserialize, Serialize};
2
3/// Status of a todo item.
4#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
5#[serde(rename_all = "snake_case")]
6pub enum TodoStatus {
7    Pending,
8    InProgress,
9    Completed,
10}
11
12impl std::fmt::Display for TodoStatus {
13    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
14        match self {
15            Self::Pending => write!(f, "todo"),
16            Self::InProgress => write!(f, "doing"),
17            Self::Completed => write!(f, "done"),
18        }
19    }
20}
21
22#[cfg(test)]
23#[path = "status_tests.rs"]
24mod tests;