pub struct FeatureFlag {
pub key: String,
pub description: Option<String>,
pub enabled: bool,
pub targeting: Vec<TargetingRule>,
pub default_variation: Variation,
pub variations: Vec<Variation>,
pub rollout: Option<Rollout>,
}Expand description
Feature flag
Fields§
§key: StringFlag key/name
description: Option<String>Flag description
enabled: boolWhether flag is enabled globally
targeting: Vec<TargetingRule>Targeting rules
default_variation: VariationDefault variation when no rules match
variations: Vec<Variation>All available variations
rollout: Option<Rollout>Rollout configuration
Implementations§
Source§impl FeatureFlag
impl FeatureFlag
Sourcepub fn boolean(key: impl Into<String>, default_value: bool) -> Self
pub fn boolean(key: impl Into<String>, default_value: bool) -> Self
Create a new simple boolean feature flag
The default_value parameter specifies what value to return when no targeting rules match.
The flag is enabled by default (can be disabled with flag.enabled = false).
§Examples
use armature_features::FeatureFlag;
let flag = FeatureFlag::boolean("new-ui", true);Sourcepub fn multivariate(key: impl Into<String>, variations: Vec<Variation>) -> Self
pub fn multivariate(key: impl Into<String>, variations: Vec<Variation>) -> Self
Create a new multivariate feature flag
Sourcepub fn with_description(self, description: impl Into<String>) -> Self
pub fn with_description(self, description: impl Into<String>) -> Self
Set description
Sourcepub fn with_rule(self, rule: TargetingRule) -> Self
pub fn with_rule(self, rule: TargetingRule) -> Self
Add targeting rule
Sourcepub fn with_rollout(self, rollout: Rollout) -> Self
pub fn with_rollout(self, rollout: Rollout) -> Self
Set rollout configuration
Sourcepub fn evaluate(&self, context: &EvaluationContext) -> Variation
pub fn evaluate(&self, context: &EvaluationContext) -> Variation
Evaluate flag for a context
Trait Implementations§
Source§impl Clone for FeatureFlag
impl Clone for FeatureFlag
Source§fn clone(&self) -> FeatureFlag
fn clone(&self) -> FeatureFlag
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for FeatureFlag
impl Debug for FeatureFlag
Source§impl<'de> Deserialize<'de> for FeatureFlag
impl<'de> Deserialize<'de> for FeatureFlag
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for FeatureFlag
impl RefUnwindSafe for FeatureFlag
impl Send for FeatureFlag
impl Sync for FeatureFlag
impl Unpin for FeatureFlag
impl UnwindSafe for FeatureFlag
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more