diff options
author | Fredrik Meringdal <fmeringdal@hotmail.com> | 2020-10-25 01:33:33 +0200 |
---|---|---|
committer | Fredrik Meringdal <fmeringdal@hotmail.com> | 2020-10-25 01:33:33 +0200 |
commit | 6acba0e4ee286a6412261a89ad15db01717ac8bc (patch) | |
tree | 98a553ad25a2a634112a0b146593e7099582df4c /src/rrulestr.rs | |
parent | ea7f196d627868a7cde403e35421a1f085d84b92 (diff) | |
download | rust_rrule-6acba0e4ee286a6412261a89ad15db01717ac8bc.zip |
small refactor
Diffstat (limited to 'src/rrulestr.rs')
-rw-r--r-- | src/rrulestr.rs | 40 |
1 files changed, 33 insertions, 7 deletions
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<PartialOptions> { fn from_str_to_freq(s: &str) -> Option<Frequenzy> { 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<String>) -> Vec<DateTime<Utc>> { 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, |