aboutsummaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/basic/animals/human.rs6
-rw-r--r--examples/basic/bootstrap.rs5
-rw-r--r--examples/basic/main.rs2
3 files changed, 8 insertions, 5 deletions
diff --git a/examples/basic/animals/human.rs b/examples/basic/animals/human.rs
index 8e52b5b..d9b848b 100644
--- a/examples/basic/animals/human.rs
+++ b/examples/basic/animals/human.rs
@@ -1,5 +1,5 @@
use syrette::injectable;
-use syrette::ptr::TransientPtr;
+use syrette::ptr::{SingletonPtr, TransientPtr};
use crate::interfaces::cat::ICat;
use crate::interfaces::dog::IDog;
@@ -7,14 +7,14 @@ use crate::interfaces::human::IHuman;
pub struct Human
{
- dog: TransientPtr<dyn IDog>,
+ dog: SingletonPtr<dyn IDog>,
cat: TransientPtr<dyn ICat>,
}
#[injectable(IHuman)]
impl Human
{
- pub fn new(dog: TransientPtr<dyn IDog>, cat: TransientPtr<dyn ICat>) -> Self
+ pub fn new(dog: SingletonPtr<dyn IDog>, cat: TransientPtr<dyn ICat>) -> Self
{
Self { dog, cat }
}
diff --git a/examples/basic/bootstrap.rs b/examples/basic/bootstrap.rs
index 71ef713..10a7041 100644
--- a/examples/basic/bootstrap.rs
+++ b/examples/basic/bootstrap.rs
@@ -14,7 +14,10 @@ pub fn bootstrap() -> DIContainer
{
let mut di_container: DIContainer = DIContainer::new();
- di_container.bind::<dyn IDog>().to::<Dog>();
+ di_container
+ .bind::<dyn IDog>()
+ .to_singleton::<Dog>()
+ .unwrap();
di_container.bind::<dyn ICat>().to::<Cat>();
di_container.bind::<dyn IHuman>().to::<Human>();
diff --git a/examples/basic/main.rs b/examples/basic/main.rs
index f96d963..3a937c3 100644
--- a/examples/basic/main.rs
+++ b/examples/basic/main.rs
@@ -16,7 +16,7 @@ fn main()
let di_container = bootstrap();
- let dog = di_container.get::<dyn IDog>().unwrap();
+ let dog = di_container.get_singleton::<dyn IDog>().unwrap();
dog.woof();