diff --git a/src/eol_action.rs b/src/eol_action.rs index e90bd74..a971b41 100644 --- a/src/eol_action.rs +++ b/src/eol_action.rs @@ -20,3 +20,14 @@ impl fmt::Display for EolAction { } } } + +impl EolAction { + /// Parse a string to a valid `EolAction` variant or return `None`. + pub fn parse(str: &str) -> Option { + match str.to_lowercase().as_str() { + "trash" => Some(EolAction::Trash), + "delete" => Some(EolAction::Delete), + _ => None, + } + } +}