Struct Storage

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

Storage for meal data.

Implementations§

Source§

impl Storage

Source

pub fn open(path: &str) -> Result<Self>

Opens a storage in the given path. Given a path to a non-existing file, this will try to create a new storage in that path and then open it.

Example:

use libmrot::Storage;

let storage = Storage::open("./path/to/my_storage").unwrap();

For testing purposes the special path :memory: gives access to an in-memory storage which will live as long as the instance of this struct.

Example:

use libmrot::Storage;

let test_storage = Storage::open(":memory:").unwrap();
Source

pub fn add_meal_on_dates(&self, meal: &str, dates: &Vec<String>) -> Result<()>

Adds a meal on the given dates to the storage.

Source

pub fn when(&self, meal: &str) -> Result<Vec<NaiveDate>>

Show on what dates a meal was recorded.

Source

pub fn show(&self, date_range: &str) -> Result<Vec<MealRecord>>

Show what meals were recorded in the given date range.

Source

pub fn what( &self, number: usize, ignore: &Vec<String>, look_ahead: &Vec<NaiveDate>, ) -> Result<Vec<MealRecord>>

Suggest meals to cook. Returns MealRecords of the suggested meals and the last dates when they were cooked. Ignores the meals in the ignore vector and meals recorded on the dates in the look_ahead vector.

Trait Implementations§

Source§

impl Debug for Storage

Source§

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

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

impl Display for Storage

Source§

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

Formats the value using the given formatter. 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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. 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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more