Skip to content

Commit e34cc56

Browse files
committed
fix: example on the README
1 parent 6fc5277 commit e34cc56

File tree

4 files changed

+300
-278
lines changed

4 files changed

+300
-278
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: 23 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,13 @@ There's a direct relationship where each string name corresponds to a unique nam
1515

1616
## Usage
1717

18-
Add to your `Cargo.toml`:
18+
### Example 1: Basic usage
1919

20-
```toml
21-
enum-toggles = "version = "0.1.2"
20+
- Add deppendency to `Cargo.toml`:
21+
```bash
22+
cargo add enum-toggles strum strum_macros
2223
```
2324

24-
### Example 1: Basic usage
25-
2625
- File `toggles.txt` conains:
2726

2827
```txt
@@ -33,31 +32,38 @@ enum-toggles = "version = "0.1.2"
3332
```rust
3433
use enum_toggles::EnumToggles;
3534
use strum_macros::{AsRefStr, EnumIter};
36-
#[derive(AsRefStr, EnumIter, PartialEq, Copy, Clone, Debug)]
37-
pub enum MyToggle {
35+
36+
#[derive(AsRefStr, EnumIter, PartialEq)]
37+
enum MyToggle {
3838
FeatureA,
3939
FeatureB,
4040
}
41-
let mut toggles = EnumToggles::<MyToggle>::new();
42-
toggles.set_enum(MyToggle::FeatureA, true);
41+
42+
let mut toggles: EnumToggles::<MyToggle> = EnumToggles::new();
43+
toggles.set(MyToggle::FeatureA as usize, true);
4344
toggles.set_by_name("FeatureB", true); // Mapped to MyToggle::FeatureB
44-
toggles.load_from_file("toggles.txt"); // Load toggles state from file
45+
// toggles.load_from_file("toggles.txt"); // Load toggles state from file
4546
println!("{}", toggles);
4647
```
4748

4849
### Example 2: With concucrency context
4950

5051
```rust
52+
use enum_toggles::EnumToggles;
53+
use log::warn;
5154
use once_cell::sync::Lazy;
5255
use std::env;
53-
use log::{warn};
54-
#[derive(AsRefStr, EnumIter, PartialEq, Copy, Clone, Debug)]
55-
pub enum MyToggle {
56+
use std::ops::Deref;
57+
use strum_macros::{AsRefStr, EnumIter};
58+
59+
#[derive(AsRefStr, EnumIter, PartialEq)]
60+
enum MyToggle {
5661
FeatureA,
5762
FeatureB,
5863
}
59-
pub static TOGGLES: Lazy<Toggles<EnumToggle>> = Lazy::new(|| {
60-
let mut toggle = Toggles::new();
64+
65+
pub static TOGGLES: Lazy<EnumToggles<MyToggle>> = Lazy::new(|| {
66+
let mut toggle:EnumToggles<MyToggle> = EnumToggles::new();
6167
let filepath = env::var("TOGGLES_FILE");
6268
match filepath {
6369
Ok(path) => {
@@ -69,4 +75,6 @@ pub static TOGGLES: Lazy<Toggles<EnumToggle>> = Lazy::new(|| {
6975
}
7076
toggle
7177
});
78+
79+
println!("{}", TOGGLES.deref());
7280
```

0 commit comments

Comments
 (0)