File tree Expand file tree Collapse file tree 1 file changed +12
-3
lines changed
Expand file tree Collapse file tree 1 file changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -4,18 +4,27 @@ def self.schedule_from_ical(ical_string, options = {})
44 data = { }
55 ical_string . each_line do |line |
66 ( property , value ) = line . split ( ":" )
7- ( property , _tzid ) = property . split ( ";" )
7+ ( property , tzid ) = property . split ( ";" )
8+ zone = Time . find_zone ( tzid ) if tzid . present?
89 case property
910 when "DTSTART"
11+ value = { time : value , zone : zone } if zone . present?
1012 data [ :start_time ] = TimeUtil . deserialize_time ( value )
1113 when "DTEND"
14+ value = { time : value , zone : zone } if zone . present?
1215 data [ :end_time ] = TimeUtil . deserialize_time ( value )
1316 when "RDATE"
1417 data [ :rtimes ] ||= [ ]
15- data [ :rtimes ] += value . split ( "," ) . map { |v | TimeUtil . deserialize_time ( v ) }
18+ data [ :rtimes ] += value . split ( "," ) . map do |v |
19+ v = { time : v , zone : zone } if zone . present?
20+ TimeUtil . deserialize_time ( v )
21+ end
1622 when "EXDATE"
1723 data [ :extimes ] ||= [ ]
18- data [ :extimes ] += value . split ( "," ) . map { |v | TimeUtil . deserialize_time ( v ) }
24+ data [ :extimes ] += value . split ( "," ) . map do |v |
25+ v = { time : v , zone : zone } if zone . present?
26+ TimeUtil . deserialize_time ( v )
27+ end
1928 when "DURATION"
2029 data [ :duration ] # FIXME
2130 when "RRULE"
You can’t perform that action at this time.
0 commit comments