renify/method.rs
1#[derive(Debug, Clone, clap::ValueEnum, Copy)]
2pub enum Method {
3 /// => 9AFoh, wGRLC, knj9y, ... (--nbits => 5)
4 Random,
5 /// => de2662a9-fb02-4686-b556-0aca36c0e087
6 Uuid,
7 /// => 2023-03-04-22-26-42-222655555 (--delimiter => -)
8 Time,
9 /// => 1, 2, 3, ... (--start => 1)
10 Num,
11 /// => 001, 002, 003, ... (--nbits => 3)
12 Znum,
13 /// => X.jpg --> <Prefix><Delimiter>X.jpg
14 Prefix,
15 /// => X.jpg --> X<Delimiter><Append>.jpg
16 Append,
17 /// TODO: OS problem. aBcDe123.txt --> ABCDE123.txt.
18 Uppercase,
19 /// TODO: OS problem. aBcDe123.txt --> abcde123.txt.
20 Lowercase,
21 // /// TODO
22 // Capitalized,
23 // /// TODO
24 // Snake,
25 // /// TODO
26 // Replace,
27}
28
29impl From<&str> for Method {
30 fn from(s: &str) -> Self {
31 match s {
32 "Random" => Self::Random,
33 "Uuid" => Self::Uuid,
34 "Time" => Self::Time,
35 "Numbered" => Self::Num,
36 "Zero-Numbered" => Self::Znum,
37 "Prefix" => Self::Prefix,
38 "Append" => Self::Append,
39 "Uppercase" => Self::Uppercase,
40 "Lowercase" => Self::Lowercase,
41 _ => todo!(),
42 }
43 }
44}