summaryrefslogtreecommitdiff
path: root/src/rrulestr.rs
diff options
context:
space:
mode:
authorFredrik Meringdal <fmeringdal@hotmail.com>2020-10-25 01:33:33 +0200
committerFredrik Meringdal <fmeringdal@hotmail.com>2020-10-25 01:33:33 +0200
commit6acba0e4ee286a6412261a89ad15db01717ac8bc (patch)
tree98a553ad25a2a634112a0b146593e7099582df4c /src/rrulestr.rs
parentea7f196d627868a7cde403e35421a1f085d84b92 (diff)
downloadrust_rrule-6acba0e4ee286a6412261a89ad15db01717ac8bc.zip
small refactor
Diffstat (limited to 'src/rrulestr.rs')
-rw-r--r--src/rrulestr.rs40
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,