pub struct OwnedInstallRuleset { /* private fields */ }Expand description
An owned set of install rules with optional exclude glob and default rule.
Unlike InstallRuleset, this struct owns all its data. Use
as_ref() to borrow it as an InstallRuleset.
§Examples
use camino::Utf8Path;
use loadsmith_install::{OwnedInstallRuleset, InstallRule, GlobRule};
let rules: Vec<InstallRule> = vec![
GlobRule::try_from_pattern("*.dll", Utf8Path::new("BepInEx/plugins")).unwrap().into(),
];
let owned = OwnedInstallRuleset::with_rules(rules, None).unwrap();
let borrowed = owned.as_ref();
assert_eq!(borrowed.rules().len(), 1);Implementations§
Source§impl OwnedInstallRuleset
impl OwnedInstallRuleset
Sourcepub fn from_rule_iter<I, R>(
rules: I,
default_rule_index: Option<usize>,
) -> Option<Self>
pub fn from_rule_iter<I, R>( rules: I, default_rule_index: Option<usize>, ) -> Option<Self>
Creates an OwnedInstallRuleset from an iterator of items that convert
into InstallRule.
Returns None if default_rule_index is out of bounds.
Sourcepub fn with_rules(
rules: Vec<InstallRule>,
default_rule_index: Option<usize>,
) -> Option<Self>
pub fn with_rules( rules: Vec<InstallRule>, default_rule_index: Option<usize>, ) -> Option<Self>
Creates an OwnedInstallRuleset from a vector of rules.
Returns None if default_rule_index is out of bounds.
Sourcepub fn with_exclude(self, exclude: GlobSet) -> Self
pub fn with_exclude(self, exclude: GlobSet) -> Self
Sets an exclude glob set using builder pattern.
Sourcepub fn add_rule(&mut self, rule: InstallRule)
pub fn add_rule(&mut self, rule: InstallRule)
Appends a rule to the end of the rule list.
Sourcepub fn insert_rule(&mut self, index: usize, rule: InstallRule)
pub fn insert_rule(&mut self, index: usize, rule: InstallRule)
Inserts a rule at the given index, adjusting the default rule index if needed.
Sourcepub fn set_exclude(&mut self, exclude: GlobSet)
pub fn set_exclude(&mut self, exclude: GlobSet)
Replaces or sets the exclude glob set.
Sourcepub fn rules(&self) -> &[InstallRule]
pub fn rules(&self) -> &[InstallRule]
Returns a reference to the list of rules.
Sourcepub fn default_rule(&self) -> Option<&InstallRule>
pub fn default_rule(&self) -> Option<&InstallRule>
Returns the default rule, if any.
Sourcepub fn into_parts(self) -> (Vec<InstallRule>, Option<usize>, Option<GlobSet>)
pub fn into_parts(self) -> (Vec<InstallRule>, Option<usize>, Option<GlobSet>)
Consumes the ruleset and returns the inner parts:
(rules, default_rule_index, exclude).
Sourcepub fn as_ref(&self) -> InstallRuleset<'_>
pub fn as_ref(&self) -> InstallRuleset<'_>
Borrows this owned ruleset as an InstallRuleset.
Trait Implementations§
Source§impl Clone for OwnedInstallRuleset
impl Clone for OwnedInstallRuleset
Source§fn clone(&self) -> OwnedInstallRuleset
fn clone(&self) -> OwnedInstallRuleset
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more