11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
# File 'lib/timetrap/timer.rb', line 11
def process_time(time, now = Time.now)
case time
when Time
time
when String
chronic = begin
time_closest_to_now_with_chronic(time, now)
rescue => e
warn "#{e.class} in Chronic gem parsing time. Falling back to Time.parse"
end
if parsed = chronic
parsed
elsif safe_for_time_parse?(time) and parsed = Time.parse(time)
parsed
else
raise ArgumentError, "Could not parse #{time.inspect}, entry not updated"
end
end
end
|