|
15 | 15 | //! use enum_toggles::EnumToggles; |
16 | 16 | //! use strum_macros::{AsRefStr, EnumIter}; |
17 | 17 | //! |
18 | | -//! #[derive(AsRefStr, EnumIter, PartialEq, Copy, Clone, Debug)] |
19 | | -//! pub enum MyToggle { |
| 18 | +//! #[derive(AsRefStr, EnumIter, PartialEq)] |
| 19 | +//! enum MyToggle { |
20 | 20 | //! FeatureA, |
21 | 21 | //! FeatureB, |
22 | 22 | //! } |
23 | 23 | //! |
24 | 24 | //! let mut toggles = EnumToggles::<MyToggle>::new(); |
25 | | -//! toggles.set_enum(MyToggle::FeatureA, true); |
| 25 | +//! toggles.set(MyToggle::FeatureA as usize, true); |
26 | 26 | //! toggles.set_by_name("FeatureB", true); // Mapped to MyToggle::FeatureB |
27 | | -//! toggles.load_from_file("toggles.txt"); // Load toggles state from file |
| 27 | +//! // toggles.load_from_file("toggles.txt"); // Load toggles state from file |
28 | 28 | //! println!("{}", toggles); |
29 | 29 | //! ``` |
30 | 30 | //! |
31 | 31 | //! - With concucrency context |
32 | 32 | //! ```rust |
| 33 | +//! use enum_toggles::EnumToggles; |
| 34 | +//! use log::warn; |
33 | 35 | //! use once_cell::sync::Lazy; |
34 | 36 | //! use std::env; |
35 | | -//! use log::{warn}; |
| 37 | +//! use strum_macros::{AsRefStr, EnumIter}; |
36 | 38 | //! |
37 | | -//! #[derive(AsRefStr, EnumIter, PartialEq, Copy, Clone, Debug)] |
38 | | -//! pub enum MyToggle { |
| 39 | +//! #[derive(AsRefStr, EnumIter, PartialEq)] |
| 40 | +//! enum MyToggle { |
39 | 41 | //! FeatureA, |
40 | 42 | //! FeatureB, |
41 | 43 | //! } |
42 | 44 | //! |
43 | | -//! pub static TOGGLES: Lazy<Toggles<EnumToggle>> = Lazy::new(|| { |
44 | | -//! let mut toggle = Toggles::new(); |
| 45 | +//! pub static TOGGLES: Lazy<EnumToggles<MyToggle>> = Lazy::new(|| { |
| 46 | +//! let mut toggle:EnumToggles<MyToggle> = EnumToggles::new(); |
45 | 47 | //! let filepath = env::var("TOGGLES_FILE"); |
46 | 48 | //! match filepath { |
47 | 49 | //! Ok(path) => { |
@@ -134,7 +136,7 @@ where |
134 | 136 | /// Set the bool value of a toggle by its name. |
135 | 137 | /// |
136 | 138 | /// This operation is *O*(*n*). |
137 | | - fn set_by_name(&mut self, toggle_name: &str, value: bool) { |
| 139 | + pub fn set_by_name(&mut self, toggle_name: &str, value: bool) { |
138 | 140 | if let Some(toggle) = T::iter().find(|t| toggle_name == t.as_ref()) { |
139 | 141 | if let Some(toggle_id) = T::iter().position(|x| x == toggle) { |
140 | 142 | self.set(toggle_id, value); |
|
0 commit comments