[][src]Struct version_check::Date

pub struct Date(_);

Release date including year, month, and day.

Implementations

impl Date[src]

pub fn read() -> Option<Date>[src]

Reads the release date of the running compiler. If it cannot be determined (see the top-level documentation), returns None.

Example

use version_check::Date;

match Date::read() {
    Some(d) => format!("The release date is: {}", d),
    None => format!("Failed to read the release date.")
};

pub fn parse(date: &str) -> Option<Date>[src]

Parse a release date of the form %Y-%m-%d. Returns None if date is not in %Y-%m-%d format.

Example

use version_check::Date;

let date = Date::parse("2016-04-20").unwrap();

assert!(date.at_least("2016-01-10"));
assert!(date.at_most("2016-04-20"));
assert!(date.exactly("2016-04-20"));

assert!(Date::parse("March 13, 2018").is_none());
assert!(Date::parse("1-2-3-4-5").is_none());

pub fn at_least(&self, date: &str) -> bool[src]

Returns true if self occurs on or after date.

If date occurs before self, or if date is not in %Y-%m-%d format, returns false.

Example

use version_check::Date;

let date = Date::parse("2020-01-01").unwrap();

assert!(date.at_least("2019-12-31"));
assert!(date.at_least("2020-01-01"));
assert!(date.at_least("2014-04-31"));

assert!(!date.at_least("2020-01-02"));
assert!(!date.at_least("2024-08-18"));

pub fn at_most(&self, date: &str) -> bool[src]

Returns true if self occurs on or before date.

If date occurs after self, or if date is not in %Y-%m-%d format, returns false.

Example

use version_check::Date;

let date = Date::parse("2020-01-01").unwrap();

assert!(date.at_most("2020-01-01"));
assert!(date.at_most("2020-01-02"));
assert!(date.at_most("2024-08-18"));

assert!(!date.at_most("2019-12-31"));
assert!(!date.at_most("2014-04-31"));

pub fn exactly(&self, date: &str) -> bool[src]

Returns true if self occurs exactly on date.

If date is not exactly self, or if date is not in %Y-%m-%d format, returns false.

Example

use version_check::Date;

let date = Date::parse("2020-01-01").unwrap();

assert!(date.exactly("2020-01-01"));

assert!(!date.exactly("2019-12-31"));
assert!(!date.exactly("2014-04-31"));
assert!(!date.exactly("2020-01-02"));
assert!(!date.exactly("2024-08-18"));

Trait Implementations

impl Clone for Date[src]

impl Copy for Date[src]

impl Debug for Date[src]

impl Display for Date[src]

impl Eq for Date[src]

impl Ord for Date[src]

impl PartialEq<Date> for Date[src]

impl PartialOrd<Date> for Date[src]

impl StructuralEq for Date[src]

impl StructuralPartialEq for Date[src]

Auto Trait Implementations

impl RefUnwindSafe for Date

impl Send for Date

impl Sync for Date

impl Unpin for Date

impl UnwindSafe for Date

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> ToString for T where
    T: Display + ?Sized
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.