Skip to content

Commit 27a455c

Browse files
committed
Update README.md
1 parent 5044c61 commit 27a455c

File tree

4 files changed

+40
-42
lines changed

4 files changed

+40
-42
lines changed

Cargo.lock

Lines changed: 3 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: 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.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.27.1"
21+
strum_macros = "0.26"
22+
23+
[dev-dependencies]
24+
once_cell = "1.21.3"
25+
tempfile = "3.10"

README.md

Lines changed: 0 additions & 6 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:

src/lib.rs

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,33 +15,35 @@
1515
//! use enum_toggles::EnumToggles;
1616
//! use strum_macros::{AsRefStr, EnumIter};
1717
//!
18-
//! #[derive(AsRefStr, EnumIter, PartialEq, Copy, Clone, Debug)]
19-
//! pub enum MyToggle {
18+
//! #[derive(AsRefStr, EnumIter, PartialEq)]
19+
//! enum MyToggle {
2020
//! FeatureA,
2121
//! FeatureB,
2222
//! }
2323
//!
2424
//! let mut toggles = EnumToggles::<MyToggle>::new();
25-
//! toggles.set_enum(MyToggle::FeatureA, true);
25+
//! toggles.set(MyToggle::FeatureA as usize, true);
2626
//! 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
2828
//! println!("{}", toggles);
2929
//! ```
3030
//!
3131
//! - With concucrency context
3232
//! ```rust
33+
//! use enum_toggles::EnumToggles;
34+
//! use log::warn;
3335
//! use once_cell::sync::Lazy;
3436
//! use std::env;
35-
//! use log::{warn};
37+
//! use strum_macros::{AsRefStr, EnumIter};
3638
//!
37-
//! #[derive(AsRefStr, EnumIter, PartialEq, Copy, Clone, Debug)]
38-
//! pub enum MyToggle {
39+
//! #[derive(AsRefStr, EnumIter, PartialEq)]
40+
//! enum MyToggle {
3941
//! FeatureA,
4042
//! FeatureB,
4143
//! }
4244
//!
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();
4547
//! let filepath = env::var("TOGGLES_FILE");
4648
//! match filepath {
4749
//! Ok(path) => {
@@ -134,7 +136,7 @@ where
134136
/// Set the bool value of a toggle by its name.
135137
///
136138
/// 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) {
138140
if let Some(toggle) = T::iter().find(|t| toggle_name == t.as_ref()) {
139141
if let Some(toggle_id) = T::iter().position(|x| x == toggle) {
140142
self.set(toggle_id, value);

0 commit comments

Comments
 (0)