Builder

Struct Builder 

Source
pub struct Builder { /* private fields */ }
Expand description

A builder for a cache.

Implementations§

Source§

impl Builder

Source

pub fn new() -> Self

Returns a new cache builder.

Source

pub fn directory(self, directory: impl Into<PathBuf>) -> Self

Set the cache directory.

Defaults to {alfred_workflow_cache}/cache

These should be set by Alfred, but if not:

  • {alfred_workflow_cache} defaults to ~/Library/Caches/com.runningwithcrayons.Alfred/Workflow Data/{alfred_workflow_bundleid}
  • {alfred_workflow_bundleid} defaults to powerpack

See powerpack_env::workflow_cache_or_default for more information.

Source

pub fn policy(self, query_policy: impl Into<FlagSet<QueryPolicy>>) -> Self

Set the query policy for the cache.

This is used to determine things like when updates should occur and stale data is allowed to be returned.

Source

pub fn ttl(self, ttl: Duration) -> Self

Set the default Time To Live (TTL) for the data in the cache.

This is used if the query does not specify a TTL.

If the data in the cache is older than this then the cache will be automatically refreshed. Stale data will be returned in the meantime.

Defaults to 60 seconds.

Source

pub fn initial_poll(self, initial_poll: Duration) -> Self

Set the initial poll duration.

This is used if the query does not specify an initial poll duration.

This is the duration to wait for the cache to be populated on the first call. If the cache is not populated within this duration, a miss error will be raised.

Defaults to not polling at all. This means the initial call to .query() will return immediately with Err(QueryError::Miss).

Source

pub fn try_build(self) -> Result<Cache, BuildError>

Try build the cache.

This can fail if the user’s home directory cannot be determined.

Source

pub fn build(self) -> Cache

Build the cache.

§Panics

If the user’s home directory cannot be determined.

Trait Implementations§

Source§

impl Clone for Builder

Source§

fn clone(&self) -> Builder

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Builder

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Builder

Source§

fn default() -> Self

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.