pub struct CapsBuilder { /* private fields */ }Expand description
Fluent builder for multiple Capability entries.
Build with high-level helpers (.read()/.write()/.read_write()), or push prebuilt
capabilities with .cap(), or use .capability(scope, |b| ...) to build inline.
Implementations§
Source§impl CapsBuilder
impl CapsBuilder
Sourcepub fn cap(self, cap: Capability) -> Self
pub fn cap(self, cap: Capability) -> Self
Push a prebuilt capability
Sourcepub fn capability<F>(self, scope: impl Into<String>, f: F) -> Self
pub fn capability<F>(self, scope: impl Into<String>, f: F) -> Self
Build a capability inline and push it:
use pubky_common::capabilities::Capabilities;
let caps = Capabilities::builder()
.capability("/pub/my-cool-app/", |b| b.read().write())
.finish();
assert_eq!(caps.to_string(), "/pub/my-cool-app/:rw");Sourcepub fn read_write(self, scope: impl Into<String>) -> Self
pub fn read_write(self, scope: impl Into<String>) -> Self
Add a read+write capability for scope.
Sourcepub fn extend<I: IntoIterator<Item = Capability>>(self, iter: I) -> Self
pub fn extend<I: IntoIterator<Item = Capability>>(self, iter: I) -> Self
Extend with an iterator of capabilities.
Sourcepub fn finish(self) -> Capabilities
pub fn finish(self) -> Capabilities
Finalize and produce the Capabilities list.
Trait Implementations§
Source§impl Debug for CapsBuilder
impl Debug for CapsBuilder
Source§impl Default for CapsBuilder
impl Default for CapsBuilder
Source§fn default() -> CapsBuilder
fn default() -> CapsBuilder
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for CapsBuilder
impl RefUnwindSafe for CapsBuilder
impl Send for CapsBuilder
impl Sync for CapsBuilder
impl Unpin for CapsBuilder
impl UnwindSafe for CapsBuilder
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