Module: SugarCube::DateParser

Defined in:
lib/sugarcube/date_parser.rb

Class Method Summary collapse

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