Skip to content

Commit 231f59a

Browse files
committed
fix: example on the README
1 parent 5044c61 commit 231f59a

File tree

4 files changed

+296
-279
lines changed

4 files changed

+296
-279
lines changed

Cargo.lock

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

Cargo.toml

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,25 @@
1-
[package]
2-
name = "enum-toggles"
3-
version = "0.1.2"
4-
edition = "2021"
5-
authors = ["Jxtopher"]
6-
description = "A generic Rust library for managing toggles/flags using enums and bitvec."
7-
license = "MIT OR Apache-2.0"
8-
repository = "https://github.com/Jxtopher/enum-toggles-rs"
9-
keywords = ["feature", "toggle", "enum", "bitvec", "flags"]
10-
categories = ["data-structures", "config", "rust-patterns"]
11-
12-
[lib]
13-
name = "enum_toggles"
14-
path = "src/lib.rs"
15-
crate-type = ["lib"]
16-
17-
[dependencies]
18-
bitvec = "1.0"
19-
log = "0.4"
20-
strum = "0.26"
21-
strum_macros = "0.26"
22-
23-
[dev-dependencies]
24-
tempfile = "3.10"
1+
[package]
2+
name = "enum-toggles"
3+
version = "0.1.3"
4+
edition = "2021"
5+
authors = ["Jxtopher"]
6+
description = "A generic Rust library for managing toggles/flags using enums and bitvec."
7+
license = "MIT OR Apache-2.0"
8+
repository = "https://github.com/Jxtopher/enum-toggles-rs"
9+
keywords = ["feature", "toggle", "enum", "bitvec", "flags"]
10+
categories = ["data-structures", "config", "rust-patterns"]
11+
12+
[lib]
13+
name = "enum_toggles"
14+
path = "src/lib.rs"
15+
crate-type = ["lib"]
16+
17+
[dependencies]
18+
bitvec = "1.0"
19+
log = "0.4"
20+
strum = "0.27.1"
21+
strum_macros = "0.27.1"
22+
23+
[dev-dependencies]
24+
once_cell = "1.21.3"
25+
tempfile = "3.10"

README.md

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -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
3428
use enum_toggles::EnumToggles;
3529
use 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);
4339
toggles.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
4541
println!("{}", toggles);
4642
```
4743

4844
### Example 2: With concucrency context
4945

5046
```rust
47+
use enum_toggles::EnumToggles;
48+
use log::warn;
5149
use once_cell::sync::Lazy;
5250
use 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

Comments
 (0)