summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2017-07-09 21:51:26 +0200
committerMatthias Beyer <mail@beyermatthias.de>2017-07-13 18:56:45 +0200
commit218977ae17d57c3cbda5ac913477f60bbf7dd5af (patch)
tree84b4c8dd145c076f692a8a4560eee58c89cc09cd
parentbddc79efaa7140661a8ee95495b71c92db99796e (diff)
Update toml-query: 0.2.0 -> 0.3.0
-rw-r--r--libimagentrycategory/Cargo.toml2
-rw-r--r--libimagentrycategory/src/category.rs15
-rw-r--r--libimagentrycategory/src/register.rs11
3 files changed, 11 insertions, 17 deletions
diff --git a/libimagentrycategory/Cargo.toml b/libimagentrycategory/Cargo.toml
index 36035cf8..8e996442 100644
--- a/libimagentrycategory/Cargo.toml
+++ b/libimagentrycategory/Cargo.toml
@@ -16,7 +16,7 @@ homepage = "http://imag-pim.org"
[dependencies]
log = "0.3"
toml = "0.4"
-toml-query = "0.2"
+toml-query = "0.3"
is-match = "0.1"
[dev-dependencies]
diff --git a/libimagentrycategory/src/category.rs b/libimagentrycategory/src/category.rs
index 89763913..1e77495e 100644
--- a/libimagentrycategory/src/category.rs
+++ b/libimagentrycategory/src/category.rs
@@ -88,23 +88,16 @@ impl EntryCategory for Entry {
}
.map_err_into(CEK::HeaderReadError),
- Ok(&Value::String(ref s)) => Ok(Some(s.clone().into())),
+ Ok(Some(&Value::String(ref s))) => Ok(Some(s.clone().into())),
+ Ok(None) => Err(CEK::StoreReadError.into_error()).map_err_into(CEK::HeaderReadError),
Ok(_) => Err(CEK::TypeError.into_error()).map_err_into(CEK::HeaderReadError),
}
}
fn has_category(&self) -> Result<bool> {
- let res = self.get_header().read(&String::from("category.value"));
- if res.is_err() {
- let res = res.unwrap_err();
- match res.kind() {
- &TQEK::IdentifierNotFoundInDocument(_) => Ok(false),
- _ => Err(res),
- }
+ self.get_header().read(&String::from("category.value"))
.map_err_into(CEK::HeaderReadError)
- } else {
- Ok(true)
- }
+ .map(|e| e.is_some())
}
}
diff --git a/libimagentrycategory/src/register.rs b/libimagentrycategory/src/register.rs
index aa85d804..e8853631 100644
--- a/libimagentrycategory/src/register.rs
+++ b/libimagentrycategory/src/register.rs
@@ -198,9 +198,10 @@ mod tests {
assert!(header_field.is_ok(), format!("Expected Ok(_), got: {:?}", header_field));
let header_field = header_field.unwrap();
- match *header_field {
- Value::String(ref s) => assert_eq!(category_name, s),
- _ => assert!(false, "Header field has wrong type"),
+ match header_field {
+ Some(&Value::String(ref s)) => assert_eq!(category_name, s),
+ Some(_) => assert!(false, "Header field has wrong type"),
+ None => assert!(false, "Header field not present"),
}
}
}
@@ -228,7 +229,7 @@ fn represents_category(store: &Store, sid: StoreId, name: &str) -> Result<bool>
.read(&String::from(CATEGORY_REGISTER_NAME_FIELD_PATH))
.map_err_into(CEK::HeaderReadError)
{
- Ok(&Value::String(ref s)) => Ok(s == name),
+ Ok(Some(&Value::String(ref s))) => Ok(s == name),
Ok(_) => Err(CEK::TypeError.into_error()),
Err(e) => Err(e).map_err_into(CEK::HeaderReadError),
}
@@ -279,7 +280,7 @@ impl<'a> Iterator for CategoryNameIter<'a> {
.map_err_into(CEK::StoreReadError)
.and_then(|fle| fle.ok_or(CEK::StoreReadError.into_error()))
.and_then(|fle| match fle.get_header().read(&query) {
- Ok(&Value::String(ref s)) => Ok(Category::from(s.clone())),
+ Ok(Some(&Value::String(ref s))) => Ok(Category::from(s.clone())),
Ok(_) => Err(CEK::TypeError.into_error()),
Err(e) => Err(e).map_err_into(CEK::HeaderReadError),
})