summaryrefslogtreecommitdiff
path: root/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib.rs')
-rw-r--r--src/lib.rs15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/lib.rs b/src/lib.rs
index cdd6e8a..3b345e7 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -185,7 +185,7 @@ use pidgin::{Grammar, Match, Matcher};
use regex::Regex;
lazy_static! {
- // making this public is useful for testing, but best to keep it hidden to
+ // making this public is useful for testing, but best to keep it hidden to
// limit complexity and commitment
#[doc(hidden)]
pub static ref GRAMMAR: Grammar = grammar!{
@@ -402,6 +402,19 @@ pub enum TimeError {
NoPayPeriod(String),
}
+impl TimeError {
+ /// Extracts error message.
+ pub fn msg(&self) -> &str {
+ match self {
+ TimeError::Parse(s) => s.as_ref(),
+ TimeError::Misordered(s) => s.as_ref(),
+ TimeError::ImpossibleDate(s) => s.as_ref(),
+ TimeError::Weekday(s) => s.as_ref(),
+ TimeError::NoPayPeriod(s) => s.as_ref(),
+ }
+ }
+}
+
/// Converts a time expression into a pair or timestamps and a boolean indicating whether
/// the expression was literally a range, such as "9 to 11", as opposed to "9 AM", say.
///