diff options
author | Lars Wirzenius <liw@liw.fi> | 2021-01-05 14:08:48 +0000 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2021-01-05 14:08:48 +0000 |
commit | 7ff248232a414b907b3abe464cc015e5ea48c236 (patch) | |
tree | f2db3d57cbd6db1e68779907f1477dca315220c5 /src/backup_reason.rs | |
parent | fee70c974049560164d8950dabc63554f55671b1 (diff) | |
parent | c2f7b5af1b9a237c740c71b3b65a155a8440cf3a (diff) | |
download | obnam2-7ff248232a414b907b3abe464cc015e5ea48c236.tar.gz |
Merge branch 'iterattor' into 'main'
refactor: add BackedUpFile to avoid using a tuple
See merge request larswirzenius/obnam!63
Diffstat (limited to 'src/backup_reason.rs')
-rw-r--r-- | src/backup_reason.rs | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/backup_reason.rs b/src/backup_reason.rs index cc0d49a..218857c 100644 --- a/src/backup_reason.rs +++ b/src/backup_reason.rs @@ -2,7 +2,7 @@ use rusqlite::types::ToSqlOutput; use rusqlite::ToSql; use std::fmt; -#[derive(Debug)] +#[derive(Debug, Copy, Clone)] pub enum Reason { Skipped, IsNew, @@ -11,6 +11,18 @@ pub enum Reason { Error, } +impl Reason { + pub fn from_str(text: &str) -> Reason { + match text { + "skipped" => Reason::Skipped, + "new" => Reason::IsNew, + "changed" => Reason::Changed, + "unchanged" => Reason::Unchanged, + _ => Reason::Error, + } + } +} + impl ToSql for Reason { fn to_sql(&self) -> rusqlite::Result<ToSqlOutput> { Ok(ToSqlOutput::Owned(rusqlite::types::Value::Text(format!( |