From 6acba0e4ee286a6412261a89ad15db01717ac8bc Mon Sep 17 00:00:00 2001 From: Fredrik Meringdal Date: Sun, 25 Oct 2020 01:33:33 +0200 Subject: small refactor --- src/rrulestr.rs | 40 +++++++++++++++++++++++++++++++++------- 1 file changed, 33 insertions(+), 7 deletions(-) (limited to 'src/rrulestr.rs') diff --git a/src/rrulestr.rs b/src/rrulestr.rs index 5df7fd7..996749d 100644 --- a/src/rrulestr.rs +++ b/src/rrulestr.rs @@ -132,13 +132,13 @@ fn parse_dtstart(s: &str) -> Option { fn from_str_to_freq(s: &str) -> Option { match s.to_uppercase().as_str() { - "YEARLY" => Some(Frequenzy::YEARLY), - "MONTHLY" => Some(Frequenzy::MONTHLY), - "WEEKLY" => Some(Frequenzy::WEEKLY), - "DAILY" => Some(Frequenzy::DAILY), - "HOURLY" => Some(Frequenzy::HOURLY), - "MINUTELY" => Some(Frequenzy::MINUTELY), - "SECONDLY" => Some(Frequenzy::SECONDLY), + "YEARLY" => Some(Frequenzy::Yearly), + "MONTHLY" => Some(Frequenzy::Monthly), + "WEEKLY" => Some(Frequenzy::Weekly), + "DAILY" => Some(Frequenzy::Daily), + "HOURLY" => Some(Frequenzy::Hourly), + "MINUTELY" => Some(Frequenzy::Minutely), + "SECONDLY" => Some(Frequenzy::Secondly), _ => None, } } @@ -433,6 +433,32 @@ fn parse_rdate(rdateval: &str, params: Vec) -> Vec> { rdateval.split(",").map(|datestr| datestring_to_date(datestr)).collect() } +/// A type that produces instances of a given a RFC1241 string representation. +/// +/// The first element is traditionally the path of the executable, but it can be +/// set to arbitrary text, and may not even exist. This means this property should +/// not be relied upon for security purposes. +/// +/// On Unix systems shell usually expands unquoted arguments with glob patterns +/// (such as `*` and `?`). On Windows this is not done, and such arguments are +/// passed as-is. +/// +/// # Panics +/// +/// The returned iterator will panic during iteration if any argument to the +/// process is not valid unicode. If this is not desired, +/// use the [`args_os`] function instead. +/// +/// # Examples +/// +/// ``` +/// use std::env; +/// +/// // Prints each argument on a separate line +/// for argument in env::args() { +/// println!("{}", argument); +/// } +/// ``` pub fn build_rule(s: &str) -> RRuleSet { let ParsedInput { mut rrule_vals, -- cgit v1.2.3