Add from_vec()
Calculates a PermissionFlags Stirng from a Vec<PermissionFlags>.
This commit is contained in:
parent
7a0a9baa45
commit
7aa948647a
|
@ -106,4 +106,30 @@ impl PermissionFlags {
|
|||
pub fn has_permission(&self, permission: PermissionFlags) -> bool {
|
||||
self.contains(permission) || self.contains(PermissionFlags::ADMINISTRATOR)
|
||||
}
|
||||
|
||||
pub fn to_string(&self) -> String {
|
||||
self.bits().to_string()
|
||||
}
|
||||
|
||||
/// Creates a String of Permissions from a given [`Vec`] of [`PermissionFlags`].
|
||||
/// # Example:
|
||||
/// ```
|
||||
/// use chorus::types::{PermissionFlags};
|
||||
///
|
||||
/// let mut vector: Vec<PermissionFlags> = Vec::new();
|
||||
/// vector.push(PermissionFlags::MUTE_MEMBERS);
|
||||
/// vector.push(PermissionFlags::DEAFEN_MEMBERS);
|
||||
///
|
||||
/// let permissions: String = PermissionFlags::from_vec(vector);
|
||||
///
|
||||
/// println!("The permissions string is {}.", permissions);
|
||||
/// assert_eq!(permissions, "12582912".to_string());
|
||||
/// ```
|
||||
pub fn from_vec(flags: Vec<PermissionFlags>) -> String {
|
||||
let mut permissions: PermissionFlags = Default::default();
|
||||
for flag in flags.iter() {
|
||||
permissions = permissions | flag.clone();
|
||||
}
|
||||
permissions.to_string()
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue