Module: SugarCube::DateParser
- Defined in:
- lib/sugarcube/date_parser.rb
Class Method Summary collapse
-
.match(date_string) ⇒ Object
Parse a date into a raw match array for further processing.
-
.parse_date(date_string) ⇒ Object
Parse a date string: E.g.:.
-
.parse_duration(date_string) ⇒ Object
Parse a date string: E.g.:.
-
.parse_time_zone(date_string) ⇒ Object
Parse time zone from date.
Class Method Details
.match(date_string) ⇒ Object
Parse a date into a raw match array for further processing
34 35 36 |
# File 'lib/sugarcube/date_parser.rb', line 34 def self.match(date_string) detect(date_string) end |
.parse_date(date_string) ⇒ Object
Parse a date string: E.g.:
SugarCube::DateParser.parse_date "There is a date in here tomorrow at 9:00 AM"
=> 2013-02-20 09:00:00 -0800
8 9 10 |
# File 'lib/sugarcube/date_parser.rb', line 8 def self.parse_date(date_string) detect(date_string).first.date end |
.parse_duration(date_string) ⇒ Object
Parse a date string: E.g.:
SugarCube::DateParser.parse_date "You have a meeting from 9:00 AM to 3:00 PM"
=> 21600.0
Divide by 3600.0 to get number of hours duration.
29 30 31 |
# File 'lib/sugarcube/date_parser.rb', line 29 def self.parse_duration(date_string) detect(date_string).first.send(:duration) end |
.parse_time_zone(date_string) ⇒ Object
Parse time zone from date
SugarCube::DateParser.parse_date "There is a date in here tomorrow at 9:00 AM EDT"
Caveat: This is implemented per Apple documentation. I've never really seen it work.
18 19 20 |
# File 'lib/sugarcube/date_parser.rb', line 18 def self.parse_time_zone(date_string) detect(date_string).first.timeZone end |