@@ -15,12 +15,6 @@ There's a direct relationship where each string name corresponds to a unique nam
1515
1616## Usage
1717
18- Add to your ` Cargo.toml ` :
19-
20- ``` toml
21- enum-toggles = " version = " 0.1.2"
22- ```
23-
2418### Example 1: Basic usage
2519
2620- File ` toggles.txt ` conains:
@@ -33,31 +27,38 @@ enum-toggles = "version = "0.1.2"
3327``` rust
3428use enum_toggles :: EnumToggles ;
3529use strum_macros :: {AsRefStr , EnumIter };
36- #[derive(AsRefStr , EnumIter , PartialEq , Copy , Clone , Debug )]
37- pub enum MyToggle {
30+
31+ #[derive(AsRefStr , EnumIter , PartialEq )]
32+ enum MyToggle {
3833 FeatureA ,
3934 FeatureB ,
4035}
41- let mut toggles = EnumToggles :: <MyToggle >:: new ();
42- toggles . set_enum (MyToggle :: FeatureA , true );
36+
37+ let mut toggles : EnumToggles :: <MyToggle > = EnumToggles :: new ();
38+ toggles . set (MyToggle :: FeatureA as usize , true );
4339toggles . set_by_name (" FeatureB" , true ); // Mapped to MyToggle::FeatureB
44- toggles . load_from_file (" toggles.txt" ); // Load toggles state from file
40+ // toggles.load_from_file("toggles.txt"); // Load toggles state from file
4541println! (" {}" , toggles );
4642```
4743
4844### Example 2: With concucrency context
4945
5046``` rust
47+ use enum_toggles :: EnumToggles ;
48+ use log :: warn;
5149use once_cell :: sync :: Lazy ;
5250use std :: env;
53- use log :: {warn};
54- #[derive(AsRefStr , EnumIter , PartialEq , Copy , Clone , Debug )]
55- pub enum MyToggle {
51+ use std :: ops :: Deref ;
52+ use strum_macros :: {AsRefStr , EnumIter };
53+
54+ #[derive(AsRefStr , EnumIter , PartialEq )]
55+ enum MyToggle {
5656 FeatureA ,
5757 FeatureB ,
5858}
59- pub static TOGGLES : Lazy <Toggles <EnumToggle >> = Lazy :: new (|| {
60- let mut toggle = Toggles :: new ();
59+
60+ pub static TOGGLES : Lazy <EnumToggles <MyToggle >> = Lazy :: new (|| {
61+ let mut toggle : EnumToggles <MyToggle > = EnumToggles :: new ();
6162 let filepath = env :: var (" TOGGLES_FILE" );
6263 match filepath {
6364 Ok (path ) => {
@@ -69,4 +70,6 @@ pub static TOGGLES: Lazy<Toggles<EnumToggle>> = Lazy::new(|| {
6970 }
7071 toggle
7172});
73+
74+ println! (" {}" , TOGGLES . deref ());
7275```
0 commit comments