diff options
| author | HampusM <hampus@hampusmat.com> | 2023-08-17 22:04:17 +0200 | 
|---|---|---|
| committer | HampusM <hampus@hampusmat.com> | 2023-08-17 22:04:17 +0200 | 
| commit | 8aeb7ad439b67228a0abc46b259967e8c91f8a97 (patch) | |
| tree | d7758a573c0bc805b0fe42cdd18df628109c5ffd /examples/unbound | |
| parent | 800e164a83388aa5ca7675f8031b0f0d7c6b6051 (diff) | |
docs: remove the 'unbound' example
This was not at all a useful example
Diffstat (limited to 'examples/unbound')
| -rw-r--r-- | examples/unbound/animal_store.rs | 34 | ||||
| -rw-r--r-- | examples/unbound/animals/cat.rs | 22 | ||||
| -rw-r--r-- | examples/unbound/animals/dog.rs | 22 | ||||
| -rw-r--r-- | examples/unbound/animals/human.rs | 37 | ||||
| -rw-r--r-- | examples/unbound/animals/mod.rs | 3 | ||||
| -rw-r--r-- | examples/unbound/bootstrap.rs | 29 | ||||
| -rw-r--r-- | examples/unbound/interfaces/animal_store.rs | 11 | ||||
| -rw-r--r-- | examples/unbound/interfaces/cat.rs | 4 | ||||
| -rw-r--r-- | examples/unbound/interfaces/dog.rs | 4 | ||||
| -rw-r--r-- | examples/unbound/interfaces/human.rs | 4 | ||||
| -rw-r--r-- | examples/unbound/interfaces/mod.rs | 4 | ||||
| -rw-r--r-- | examples/unbound/main.rs | 32 | 
12 files changed, 0 insertions, 206 deletions
diff --git a/examples/unbound/animal_store.rs b/examples/unbound/animal_store.rs deleted file mode 100644 index b2127e4..0000000 --- a/examples/unbound/animal_store.rs +++ /dev/null @@ -1,34 +0,0 @@ -use syrette::injectable; -use syrette::ptr::{SingletonPtr, TransientPtr}; - -use crate::interfaces::animal_store::IAnimalStore; -use crate::interfaces::cat::ICat; -use crate::interfaces::dog::IDog; - -pub struct AnimalStore -{ -    dog: SingletonPtr<dyn IDog>, -    cat: TransientPtr<dyn ICat>, -} - -#[injectable] -impl AnimalStore -{ -    fn new(dog: SingletonPtr<dyn IDog>, cat: TransientPtr<dyn ICat>) -> Self -    { -        Self { dog, cat } -    } -} - -impl IAnimalStore for AnimalStore -{ -    fn get_dog(&self) -> SingletonPtr<dyn IDog> -    { -        self.dog.clone() -    } - -    fn get_cat(&self) -> &TransientPtr<dyn ICat> -    { -        &self.cat -    } -} diff --git a/examples/unbound/animals/cat.rs b/examples/unbound/animals/cat.rs deleted file mode 100644 index 153ad4b..0000000 --- a/examples/unbound/animals/cat.rs +++ /dev/null @@ -1,22 +0,0 @@ -use syrette::injectable; - -use crate::interfaces::cat::ICat; - -pub struct Cat {} - -#[injectable(ICat)] -impl Cat -{ -    pub fn new() -> Self -    { -        Self {} -    } -} - -impl ICat for Cat -{ -    fn meow(&self) -    { -        println!("Meow!"); -    } -} diff --git a/examples/unbound/animals/dog.rs b/examples/unbound/animals/dog.rs deleted file mode 100644 index 84959c0..0000000 --- a/examples/unbound/animals/dog.rs +++ /dev/null @@ -1,22 +0,0 @@ -use syrette::injectable; - -use crate::interfaces::dog::IDog; - -pub struct Dog {} - -#[injectable(IDog)] -impl Dog -{ -    pub fn new() -> Self -    { -        Self {} -    } -} - -impl IDog for Dog -{ -    fn woof(&self) -    { -        println!("Woof!"); -    } -} diff --git a/examples/unbound/animals/human.rs b/examples/unbound/animals/human.rs deleted file mode 100644 index 56764d3..0000000 --- a/examples/unbound/animals/human.rs +++ /dev/null @@ -1,37 +0,0 @@ -use syrette::injectable; -use syrette::ptr::TransientPtr; - -use crate::interfaces::animal_store::IAnimalStore; -use crate::interfaces::human::IHuman; - -pub struct Human -{ -    animal_store: TransientPtr<dyn IAnimalStore>, -} - -#[injectable(IHuman)] -impl Human -{ -    pub fn new(animal_store: TransientPtr<dyn IAnimalStore>) -> Self -    { -        Self { animal_store } -    } -} - -impl IHuman for Human -{ -    fn make_pets_make_sounds(&self) -    { -        let dog = self.animal_store.get_dog(); - -        println!("Hi doggy!"); - -        dog.woof(); - -        let cat = self.animal_store.get_cat(); - -        println!("Hi kitty!"); - -        cat.meow(); -    } -} diff --git a/examples/unbound/animals/mod.rs b/examples/unbound/animals/mod.rs deleted file mode 100644 index 5444978..0000000 --- a/examples/unbound/animals/mod.rs +++ /dev/null @@ -1,3 +0,0 @@ -pub mod cat; -pub mod dog; -pub mod human; diff --git a/examples/unbound/bootstrap.rs b/examples/unbound/bootstrap.rs deleted file mode 100644 index 61e5326..0000000 --- a/examples/unbound/bootstrap.rs +++ /dev/null @@ -1,29 +0,0 @@ -use std::rc::Rc; - -use anyhow::Result; -use syrette::di_container::blocking::prelude::*; - -use crate::animal_store::AnimalStore; -use crate::animals::dog::Dog; -use crate::animals::human::Human; -use crate::interfaces::animal_store::IAnimalStore; -use crate::interfaces::dog::IDog; -use crate::interfaces::human::IHuman; - -pub fn bootstrap() -> Result<Rc<DIContainer>> -{ -    let mut di_container = DIContainer::new(); - -    di_container -        .bind::<dyn IDog>() -        .to::<Dog>()? -        .in_singleton_scope()?; - -    di_container.bind::<dyn IHuman>().to::<Human>()?; - -    di_container -        .bind::<dyn IAnimalStore>() -        .to::<AnimalStore>()?; - -    Ok(di_container) -} diff --git a/examples/unbound/interfaces/animal_store.rs b/examples/unbound/interfaces/animal_store.rs deleted file mode 100644 index dc8a4c3..0000000 --- a/examples/unbound/interfaces/animal_store.rs +++ /dev/null @@ -1,11 +0,0 @@ -use syrette::ptr::{SingletonPtr, TransientPtr}; - -use crate::interfaces::cat::ICat; -use crate::interfaces::dog::IDog; - -pub trait IAnimalStore -{ -    fn get_dog(&self) -> SingletonPtr<dyn IDog>; - -    fn get_cat(&self) -> &TransientPtr<dyn ICat>; -} diff --git a/examples/unbound/interfaces/cat.rs b/examples/unbound/interfaces/cat.rs deleted file mode 100644 index 8650802..0000000 --- a/examples/unbound/interfaces/cat.rs +++ /dev/null @@ -1,4 +0,0 @@ -pub trait ICat -{ -    fn meow(&self); -} diff --git a/examples/unbound/interfaces/dog.rs b/examples/unbound/interfaces/dog.rs deleted file mode 100644 index 4211c27..0000000 --- a/examples/unbound/interfaces/dog.rs +++ /dev/null @@ -1,4 +0,0 @@ -pub trait IDog -{ -    fn woof(&self); -} diff --git a/examples/unbound/interfaces/human.rs b/examples/unbound/interfaces/human.rs deleted file mode 100644 index dc20194..0000000 --- a/examples/unbound/interfaces/human.rs +++ /dev/null @@ -1,4 +0,0 @@ -pub trait IHuman -{ -    fn make_pets_make_sounds(&self); -} diff --git a/examples/unbound/interfaces/mod.rs b/examples/unbound/interfaces/mod.rs deleted file mode 100644 index bd9f848..0000000 --- a/examples/unbound/interfaces/mod.rs +++ /dev/null @@ -1,4 +0,0 @@ -pub mod animal_store; -pub mod cat; -pub mod dog; -pub mod human; diff --git a/examples/unbound/main.rs b/examples/unbound/main.rs deleted file mode 100644 index 29fa0d4..0000000 --- a/examples/unbound/main.rs +++ /dev/null @@ -1,32 +0,0 @@ -#![deny(clippy::all)] -#![deny(clippy::pedantic)] -#![allow(clippy::module_name_repetitions)] - -mod animal_store; -mod animals; -mod bootstrap; -mod interfaces; - -use anyhow::Result; -use syrette::di_container::blocking::prelude::*; - -use crate::bootstrap::bootstrap; -use crate::interfaces::dog::IDog; -use crate::interfaces::human::IHuman; - -fn main() -> Result<()> -{ -    println!("Hello, world!"); - -    let di_container = bootstrap()?; - -    let dog = di_container.get::<dyn IDog>()?.singleton()?; - -    dog.woof(); - -    let human = di_container.get::<dyn IHuman>()?.transient()?; - -    human.make_pets_make_sounds(); - -    Ok(()) -}  | 
