aboutsummaryrefslogtreecommitdiff
path: root/examples/factory/bootstrap.rs
diff options
context:
space:
mode:
Diffstat (limited to 'examples/factory/bootstrap.rs')
-rw-r--r--examples/factory/bootstrap.rs18
1 files changed, 9 insertions, 9 deletions
diff --git a/examples/factory/bootstrap.rs b/examples/factory/bootstrap.rs
index b752764..ad8c4d3 100644
--- a/examples/factory/bootstrap.rs
+++ b/examples/factory/bootstrap.rs
@@ -1,3 +1,5 @@
+use std::error::Error;
+
use syrette::ptr::TransientPtr;
use syrette::DIContainer;
@@ -9,24 +11,22 @@ use crate::interfaces::user_manager::IUserManager;
use crate::user::User;
use crate::user_manager::UserManager;
-pub fn bootstrap() -> DIContainer
+pub fn bootstrap() -> Result<DIContainer, Box<dyn Error>>
{
let mut di_container: DIContainer = DIContainer::new();
di_container
.bind::<dyn IUserManager>()
- .to::<UserManager>()
- .unwrap();
+ .to::<UserManager>()?;
- di_container
- .bind::<IUserFactory>()
- .to_factory(&|name, date_of_birth, password| {
+ di_container.bind::<IUserFactory>().to_factory(
+ &|name, date_of_birth, password| {
let user: TransientPtr<dyn IUser> =
TransientPtr::new(User::new(name, date_of_birth, password));
user
- })
- .unwrap();
+ },
+ )?;
- di_container
+ Ok(di_container)
}