ecb_rates/cli/
sort_by.rs

1use clap::ValueEnum;
2
3#[derive(Debug, ValueEnum, Clone)]
4pub enum SortBy {
5    Currency,
6    Rate,
7}
8
9impl SortBy {
10    pub fn get_comparer(&self) -> fn(&(&str, f64), &(&str, f64)) -> std::cmp::Ordering {
11        match self {
12            Self::Currency => |a, b| a.0.cmp(b.0),
13            Self::Rate => |a, b| a.1.total_cmp(&b.1),
14        }
15    }
16}