Skip to content

Commit 29b94ed

Browse files
committed
update
1 parent 27a455c commit 29b94ed

File tree

4 files changed

+268
-249
lines changed

4 files changed

+268
-249
lines changed

Cargo.lock

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ crate-type = ["lib"]
1818
bitvec = "1.0"
1919
log = "0.4"
2020
strum = "0.27.1"
21-
strum_macros = "0.26"
21+
strum_macros = "0.27.1"
2222

2323
[dev-dependencies]
2424
once_cell = "1.21.3"

README.md

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -27,31 +27,38 @@ There's a direct relationship where each string name corresponds to a unique nam
2727
```rust
2828
use enum_toggles::EnumToggles;
2929
use strum_macros::{AsRefStr, EnumIter};
30-
#[derive(AsRefStr, EnumIter, PartialEq, Copy, Clone, Debug)]
31-
pub enum MyToggle {
30+
31+
#[derive(AsRefStr, EnumIter, PartialEq)]
32+
enum MyToggle {
3233
FeatureA,
3334
FeatureB,
3435
}
35-
let mut toggles = EnumToggles::<MyToggle>::new();
36-
toggles.set_enum(MyToggle::FeatureA, true);
36+
37+
let mut toggles: EnumToggles::<MyToggle> = EnumToggles::new();
38+
toggles.set(MyToggle::FeatureA as usize, true);
3739
toggles.set_by_name("FeatureB", true); // Mapped to MyToggle::FeatureB
38-
toggles.load_from_file("toggles.txt"); // Load toggles state from file
40+
// toggles.load_from_file("toggles.txt"); // Load toggles state from file
3941
println!("{}", toggles);
4042
```
4143

4244
### Example 2: With concucrency context
4345

4446
```rust
47+
use enum_toggles::EnumToggles;
48+
use log::warn;
4549
use once_cell::sync::Lazy;
4650
use std::env;
47-
use log::{warn};
48-
#[derive(AsRefStr, EnumIter, PartialEq, Copy, Clone, Debug)]
49-
pub enum MyToggle {
51+
use std::ops::Deref;
52+
use strum_macros::{AsRefStr, EnumIter};
53+
54+
#[derive(AsRefStr, EnumIter, PartialEq)]
55+
enum MyToggle {
5056
FeatureA,
5157
FeatureB,
5258
}
53-
pub static TOGGLES: Lazy<Toggles<EnumToggle>> = Lazy::new(|| {
54-
let mut toggle = Toggles::new();
59+
60+
pub static TOGGLES: Lazy<EnumToggles<MyToggle>> = Lazy::new(|| {
61+
let mut toggle:EnumToggles<MyToggle> = EnumToggles::new();
5562
let filepath = env::var("TOGGLES_FILE");
5663
match filepath {
5764
Ok(path) => {
@@ -63,4 +70,6 @@ pub static TOGGLES: Lazy<Toggles<EnumToggle>> = Lazy::new(|| {
6370
}
6471
toggle
6572
});
73+
74+
println!("{}", TOGGLES.deref());
6675
```

0 commit comments

Comments
 (0)