From 1c0cb71b2f3857299049a0eac84f8cdcb717b3a2 Mon Sep 17 00:00:00 2001 From: Dimiter Petrov Date: Thu, 3 Dec 2015 00:40:35 +0100 Subject: [PATCH] Avoid `unwrap()` in the documentation --- README.md | 10 ++++------ diesel/src/expression/count.rs | 2 +- .../global_expression_methods.rs | 4 ++-- diesel/src/query_builder/functions.rs | 18 ++++++++++++++---- diesel/src/query_dsl/filter_dsl.rs | 8 ++++---- 5 files changed, 25 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index c6e5c5fda536..3ecda67bb086 100644 --- a/README.md +++ b/README.md @@ -39,13 +39,11 @@ table! { } fn users_with_name(connection: &Connection, target_name: &str) - -> Vec<(i32, String, Option)> + -> QueryResult)>> { use self::users::dsl::*; - users.filter(name.eq(target_name)) - .load(connection) - .unwrap() - .collect() + users.filter(name.eq(target_name)).load(connection) + .map(|x| x.collect()) } ``` @@ -212,7 +210,7 @@ fn delete_user(connection: &Connection, user: User) -> QueryResult<()> { use diesel::query_builder::delete; use users::dsl::*; - delete(users.filter(id.eq(user.id))).execute(&connection).unwrap(); + try!(delete(users.filter(id.eq(user.id))).execute(&connection)); debug_assert!(deleted_rows == 1); Ok(()) } diff --git a/diesel/src/expression/count.rs b/diesel/src/expression/count.rs index 1d7cffef9d1f..8579969f4ccd 100644 --- a/diesel/src/expression/count.rs +++ b/diesel/src/expression/count.rs @@ -38,7 +38,7 @@ pub fn count(t: T) -> Count { /// # fn main() { /// # use self::users::dsl::*; /// # let connection = establish_connection(); -/// assert_eq!(Some(2), users.select(count_star()).first(&connection).unwrap()); +/// assert_eq!(Ok(Some(2)), users.select(count_star()).first(&connection)); /// # } pub fn count_star() -> CountStar { CountStar diff --git a/diesel/src/expression/expression_methods/global_expression_methods.rs b/diesel/src/expression/expression_methods/global_expression_methods.rs index 29e047171ef4..f85b4f863b00 100644 --- a/diesel/src/expression/expression_methods/global_expression_methods.rs +++ b/diesel/src/expression/expression_methods/global_expression_methods.rs @@ -43,7 +43,7 @@ pub trait ExpressionMethods: Expression + Sized { /// # use self::users::dsl::*; /// # let connection = establish_connection(); /// let data = users.select(id).filter(name.eq("Sean")); - /// assert_eq!(1, data.first(&connection).unwrap()); + /// assert_eq!(Ok(1), data.first(&connection)); /// # } /// ``` fn eq>(self, other: T) -> Eq { @@ -69,7 +69,7 @@ pub trait ExpressionMethods: Expression + Sized { /// # use self::users::dsl::*; /// # let connection = establish_connection(); /// let data = users.select(id).filter(name.ne("Sean")); - /// assert_eq!(2, data.first(&connection).unwrap()); + /// assert_eq!(Ok(2), data.first(&connection)); /// # } /// ``` fn ne>(self, other: T) -> NotEq { diff --git a/diesel/src/query_builder/functions.rs b/diesel/src/query_builder/functions.rs index 51ce6e5aa617..ba1158361a84 100644 --- a/diesel/src/query_builder/functions.rs +++ b/diesel/src/query_builder/functions.rs @@ -29,9 +29,9 @@ use super::IncompleteInsertStatement; /// # let connection = establish_connection(); /// let command = update(users.filter(id.eq(1))) /// .set(name.eq("James")); -/// let updated_row = connection.query_one(command).unwrap(); +/// let updated_row = connection.query_one(command); /// // When passed to `query_one`, the update statement will gain `RETURNING *` -/// assert_eq!((1, "James".to_string()), updated_row); +/// assert_eq!(Ok((1, "James".to_string())), updated_row); /// # } /// ``` pub fn update(source: T) -> IncompleteUpdateStatement { @@ -58,13 +58,18 @@ pub fn update(source: T) -> IncompleteUpdateStatement { /// # } /// # /// # fn main() { +/// # delete(); +/// # } +/// # +/// # fn delete() -> QueryResult<()> { /// # use self::users::dsl::*; /// # use diesel::query_builder::delete; /// # let connection = establish_connection(); /// # let get_count = || users.count().first::(&connection).unwrap(); /// let old_count = get_count(); -/// delete(users.filter(id.eq(1))).execute(&connection).unwrap(); +/// try!(delete(users.filter(id.eq(1))).execute(&connection)); /// assert_eq!(old_count - 1, get_count()); +/// # Ok(()) /// # } /// ``` /// @@ -82,12 +87,17 @@ pub fn update(source: T) -> IncompleteUpdateStatement { /// # } /// # /// # fn main() { +/// # delete(); +/// # } +/// # +/// # fn delete() -> QueryResult<()> { /// # use self::users::dsl::*; /// # use diesel::query_builder::delete; /// # let connection = establish_connection(); /// # let get_count = || users.count().first::(&connection).unwrap(); -/// delete(users).execute(&connection).unwrap(); +/// try!(delete(users).execute(&connection)); /// assert_eq!(0, get_count()); +/// # Ok(()) /// # } /// ``` pub fn delete(source: T) -> DeleteStatement { diff --git a/diesel/src/query_dsl/filter_dsl.rs b/diesel/src/query_dsl/filter_dsl.rs index 5135325866d6..e9610e9fc5a8 100644 --- a/diesel/src/query_dsl/filter_dsl.rs +++ b/diesel/src/query_dsl/filter_dsl.rs @@ -25,11 +25,11 @@ use types::Bool; /// # use self::users::dsl::*; /// # let connection = establish_connection(); /// let seans_id = users.filter(name.eq("Sean")).select(id) -/// .first(&connection).unwrap(); -/// assert_eq!(1, seans_id); +/// .first(&connection); +/// assert_eq!(Ok(1), seans_id); /// let tess_id = users.filter(name.eq("Tess")).select(id) -/// .first(&connection).unwrap(); -/// assert_eq!(2, tess_id); +/// .first(&connection); +/// assert_eq!(Ok(2), tess_id); /// # } /// ``` pub trait FilterDsl + NonAggregate> {