pub struct TrustDb { /* private fields */ }Expand description
Trust database backed by a JSON file at ~/.rippy/trusted.json.
Implementations§
Source§impl TrustDb
impl TrustDb
Sourcepub fn load() -> Self
pub fn load() -> Self
Load the trust database from ~/.rippy/trusted.json.
Returns an empty database if the file does not exist or cannot be parsed.
Sourcepub fn load_from(path: &Path) -> Self
pub fn load_from(path: &Path) -> Self
Load the trust database from a specific path (for testing).
Sourcepub fn save(&self) -> Result<(), RippyError>
pub fn save(&self) -> Result<(), RippyError>
Save the trust database back to disk.
§Errors
Returns RippyError::Trust if the file cannot be written.
Sourcepub fn check(&self, path: &Path, content: &str) -> TrustStatus
pub fn check(&self, path: &Path, content: &str) -> TrustStatus
Check whether a project config file is trusted.
Trust is determined in order:
- If the entry has a
repo_idthat matches the current repo → Trusted - If the content hash matches → Trusted
- If neither matches → Modified (hash-based) or Untrusted (no entry)
Sourcepub fn trust(&mut self, path: &Path, content: &str)
pub fn trust(&mut self, path: &Path, content: &str)
Mark a project config file as trusted using its current content.
Also detects and stores the repository identity so that future config changes within the same repo are automatically trusted.
Sourcepub fn revoke(&mut self, path: &Path) -> bool
pub fn revoke(&mut self, path: &Path) -> bool
Remove trust for a project config file.
Returns true if an entry was removed.
Sourcepub const fn list(&self) -> &HashMap<String, TrustEntry>
pub const fn list(&self) -> &HashMap<String, TrustEntry>
Return all trusted entries.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for TrustDb
impl RefUnwindSafe for TrustDb
impl Send for TrustDb
impl Sync for TrustDb
impl Unpin for TrustDb
impl UnsafeUnpin for TrustDb
impl UnwindSafe for TrustDb
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.