summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2019-05-17 22:44:29 +0200
committerMatthias Beyer <mail@beyermatthias.de>2019-05-18 00:52:13 +0200
commitc7f5420c1db61218a7e408685e65f672fc4520f6 (patch)
tree744448cdeda8698b0304c3af6dd753746b1ec298
parent9f100f2f75bce5f9d009c5e960047a270ea28508 (diff)
Change is_log() implementation to use kindflag utility
This patch changes the Log::is_log() implementation for Entry to use the provide_kindflag_path!() infrastructure. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
-rw-r--r--lib/domain/libimaglog/Cargo.toml7
-rw-r--r--lib/domain/libimaglog/src/lib.rs1
-rw-r--r--lib/domain/libimaglog/src/log.rs8
3 files changed, 11 insertions, 5 deletions
diff --git a/lib/domain/libimaglog/Cargo.toml b/lib/domain/libimaglog/Cargo.toml
index 650a56c9..af74dbb1 100644
--- a/lib/domain/libimaglog/Cargo.toml
+++ b/lib/domain/libimaglog/Cargo.toml
@@ -24,6 +24,7 @@ toml = "0.4"
toml-query = "0.8"
failure = "0.1"
-libimagstore = { version = "0.10.0", path = "../../../lib/core/libimagstore" }
-libimagerror = { version = "0.10.0", path = "../../../lib/core/libimagerror" }
-libimagdiary = { version = "0.10.0", path = "../../../lib/domain/libimagdiary" }
+libimagstore = { version = "0.10.0", path = "../../../lib/core/libimagstore" }
+libimagerror = { version = "0.10.0", path = "../../../lib/core/libimagerror" }
+libimagdiary = { version = "0.10.0", path = "../../../lib/domain/libimagdiary" }
+libimagentryutil = { version = "0.10.0", path = "../../../lib/entry/libimagentryutil" }
diff --git a/lib/domain/libimaglog/src/lib.rs b/lib/domain/libimaglog/src/lib.rs
index b0af3a48..ca7e5765 100644
--- a/lib/domain/libimaglog/src/lib.rs
+++ b/lib/domain/libimaglog/src/lib.rs
@@ -41,6 +41,7 @@ extern crate toml_query;
extern crate libimagdiary;
extern crate libimagstore;
+#[macro_use] extern crate libimagentryutil;
pub mod log;
diff --git a/lib/domain/libimaglog/src/log.rs b/lib/domain/libimaglog/src/log.rs
index 9ec81935..78901cda 100644
--- a/lib/domain/libimaglog/src/log.rs
+++ b/lib/domain/libimaglog/src/log.rs
@@ -19,12 +19,14 @@
use libimagdiary::entry::DiaryEntry;
use libimagstore::store::Entry;
+use libimagentryutil::isa::Is;
+use libimagentryutil::isa::IsKindHeaderPathProvider;
use failure::Fallible as Result;
use failure::Error;
+
use toml::Value;
-use toml_query::read::TomlValueReadTypeExt;
use toml_query::insert::TomlValueInsertExt;
pub trait Log : DiaryEntry {
@@ -32,9 +34,11 @@ pub trait Log : DiaryEntry {
fn make_log_entry(&mut self) -> Result<()>;
}
+provide_kindflag_path!(pub IsLog, "log.is_log");
+
impl Log for Entry {
fn is_log(&self) -> Result<bool> {
- self.get_header().read_bool("log.is_log").map(|v| v.unwrap_or(false)).map_err(Error::from)
+ self.is::<IsLog>().map_err(From::from)
}
fn make_log_entry(&mut self) -> Result<()> {