aboutsummaryrefslogtreecommitdiff
path: root/example
diff options
context:
space:
mode:
Diffstat (limited to 'example')
-rw-r--r--example/Cargo.toml11
-rw-r--r--example/src/animals/cat.rs22
-rw-r--r--example/src/animals/cow.rs24
-rw-r--r--example/src/animals/dog.rs22
-rw-r--r--example/src/animals/human.rs49
-rw-r--r--example/src/animals/mod.rs4
-rw-r--r--example/src/bootstrap.rs29
-rw-r--r--example/src/interfaces/cat.rs4
-rw-r--r--example/src/interfaces/cow.rs10
-rw-r--r--example/src/interfaces/dog.rs4
-rw-r--r--example/src/interfaces/human.rs4
-rw-r--r--example/src/interfaces/mod.rs4
-rw-r--r--example/src/main.rs30
13 files changed, 0 insertions, 217 deletions
diff --git a/example/Cargo.toml b/example/Cargo.toml
deleted file mode 100644
index 003ad19..0000000
--- a/example/Cargo.toml
+++ /dev/null
@@ -1,11 +0,0 @@
-[package]
-name = "example"
-version = "0.1.0"
-license = "LGPL-2.1"
-authors = ["HampusM <hampus@hampusmat.com>"]
-edition = "2021"
-
-[dependencies]
-syrette = "0.1.0"
-error-stack = "0.1.1"
-
diff --git a/example/src/animals/cat.rs b/example/src/animals/cat.rs
deleted file mode 100644
index 153ad4b..0000000
--- a/example/src/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/example/src/animals/cow.rs b/example/src/animals/cow.rs
deleted file mode 100644
index a75d750..0000000
--- a/example/src/animals/cow.rs
+++ /dev/null
@@ -1,24 +0,0 @@
-use crate::interfaces::cow::ICow;
-
-pub struct Cow
-{
- moo_cnt: i32,
-}
-
-impl Cow
-{
- pub fn new(moo_cnt: i32) -> Self
- {
- Self { moo_cnt }
- }
-}
-
-impl ICow for Cow
-{
- fn moo(&self)
- {
- for _ in 0..self.moo_cnt {
- println!("Moo");
- }
- }
-}
diff --git a/example/src/animals/dog.rs b/example/src/animals/dog.rs
deleted file mode 100644
index 84959c0..0000000
--- a/example/src/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/example/src/animals/human.rs b/example/src/animals/human.rs
deleted file mode 100644
index 5bd2f8f..0000000
--- a/example/src/animals/human.rs
+++ /dev/null
@@ -1,49 +0,0 @@
-use syrette::injectable;
-use syrette::ptr::{FactoryPtr, InterfacePtr};
-
-use crate::interfaces::cat::ICat;
-use crate::interfaces::cow::{CowFactory, ICow};
-use crate::interfaces::dog::IDog;
-use crate::interfaces::human::IHuman;
-
-pub struct Human
-{
- dog: InterfacePtr<dyn IDog>,
- cat: InterfacePtr<dyn ICat>,
- cow_factory: FactoryPtr<CowFactory>,
-}
-
-#[injectable(IHuman)]
-impl Human
-{
- pub fn new(
- dog: InterfacePtr<dyn IDog>,
- cat: InterfacePtr<dyn ICat>,
- cow_factory: FactoryPtr<CowFactory>,
- ) -> Self
- {
- Self {
- dog,
- cat,
- cow_factory,
- }
- }
-}
-
-impl IHuman for Human
-{
- fn make_pets_make_sounds(&self)
- {
- println!("Hi doggy!");
-
- self.dog.woof();
-
- println!("Hi kitty!");
-
- self.cat.meow();
-
- let cow: Box<dyn ICow> = (self.cow_factory)(3);
-
- cow.moo();
- }
-}
diff --git a/example/src/animals/mod.rs b/example/src/animals/mod.rs
deleted file mode 100644
index 6511d17..0000000
--- a/example/src/animals/mod.rs
+++ /dev/null
@@ -1,4 +0,0 @@
-pub mod cat;
-pub mod cow;
-pub mod dog;
-pub mod human;
diff --git a/example/src/bootstrap.rs b/example/src/bootstrap.rs
deleted file mode 100644
index a1a7b05..0000000
--- a/example/src/bootstrap.rs
+++ /dev/null
@@ -1,29 +0,0 @@
-use syrette::DIContainer;
-
-// Concrete implementations
-use crate::animals::cat::Cat;
-use crate::animals::cow::Cow;
-use crate::animals::dog::Dog;
-use crate::animals::human::Human;
-//
-// Interfaces
-use crate::interfaces::cat::ICat;
-use crate::interfaces::cow::{CowFactory, ICow};
-use crate::interfaces::dog::IDog;
-use crate::interfaces::human::IHuman;
-
-pub fn bootstrap() -> DIContainer
-{
- let mut di_container: DIContainer = DIContainer::new();
-
- di_container.bind::<dyn IDog>().to::<Dog>();
- di_container.bind::<dyn ICat>().to::<Cat>();
- di_container.bind::<dyn IHuman>().to::<Human>();
-
- di_container.bind::<CowFactory>().to_factory(&|moo_cnt| {
- let cow: Box<dyn ICow> = Box::new(Cow::new(moo_cnt));
- cow
- });
-
- di_container
-}
diff --git a/example/src/interfaces/cat.rs b/example/src/interfaces/cat.rs
deleted file mode 100644
index 8650802..0000000
--- a/example/src/interfaces/cat.rs
+++ /dev/null
@@ -1,4 +0,0 @@
-pub trait ICat
-{
- fn meow(&self);
-}
diff --git a/example/src/interfaces/cow.rs b/example/src/interfaces/cow.rs
deleted file mode 100644
index 59ce7b1..0000000
--- a/example/src/interfaces/cow.rs
+++ /dev/null
@@ -1,10 +0,0 @@
-use syrette::factory;
-use syrette::interfaces::factory::IFactory;
-
-pub trait ICow
-{
- fn moo(&self);
-}
-
-#[factory]
-pub type CowFactory = dyn IFactory<(i32,), dyn ICow>;
diff --git a/example/src/interfaces/dog.rs b/example/src/interfaces/dog.rs
deleted file mode 100644
index 4211c27..0000000
--- a/example/src/interfaces/dog.rs
+++ /dev/null
@@ -1,4 +0,0 @@
-pub trait IDog
-{
- fn woof(&self);
-}
diff --git a/example/src/interfaces/human.rs b/example/src/interfaces/human.rs
deleted file mode 100644
index dc20194..0000000
--- a/example/src/interfaces/human.rs
+++ /dev/null
@@ -1,4 +0,0 @@
-pub trait IHuman
-{
- fn make_pets_make_sounds(&self);
-}
diff --git a/example/src/interfaces/mod.rs b/example/src/interfaces/mod.rs
deleted file mode 100644
index 6511d17..0000000
--- a/example/src/interfaces/mod.rs
+++ /dev/null
@@ -1,4 +0,0 @@
-pub mod cat;
-pub mod cow;
-pub mod dog;
-pub mod human;
diff --git a/example/src/main.rs b/example/src/main.rs
deleted file mode 100644
index 956b79e..0000000
--- a/example/src/main.rs
+++ /dev/null
@@ -1,30 +0,0 @@
-#![deny(clippy::all)]
-#![deny(clippy::pedantic)]
-#![allow(clippy::module_name_repetitions)]
-
-use syrette::errors::di_container::DIContainerError;
-
-mod animals;
-mod bootstrap;
-mod interfaces;
-
-use bootstrap::bootstrap;
-use interfaces::dog::IDog;
-use interfaces::human::IHuman;
-
-fn main() -> error_stack::Result<(), DIContainerError>
-{
- println!("Hello, world!");
-
- let di_container = bootstrap();
-
- let dog = di_container.get::<dyn IDog>()?;
-
- dog.woof();
-
- let human = di_container.get::<dyn IHuman>()?;
-
- human.make_pets_make_sounds();
-
- Ok(())
-}