@@ -40,39 +40,40 @@ def self.rule_from_ical(ical)
40
40
when 'WKST'
41
41
params [ :wkst ] = TimeUtil . ical_day_to_symbol ( value )
42
42
when 'BYSECOND'
43
- params [ :validations ] [ :second_of_minute ] = value . split ( ',' ) . collect { | v | v . to_i }
44
- when " BYMINUTE"
45
- params [ :validations ] [ :minute_of_hour ] = value . split ( ',' ) . collect { | v | v . to_i }
46
- when " BYHOUR"
47
- params [ :validations ] [ :hour_of_day ] = value . split ( ',' ) . collect { | v | v . to_i }
48
- when " BYDAY"
43
+ params [ :validations ] [ :second_of_minute ] = value . split ( ',' ) . collect ( & : to_i)
44
+ when ' BYMINUTE'
45
+ params [ :validations ] [ :minute_of_hour ] = value . split ( ',' ) . collect ( & : to_i)
46
+ when ' BYHOUR'
47
+ params [ :validations ] [ :hour_of_day ] = value . split ( ',' ) . collect ( & : to_i)
48
+ when ' BYDAY'
49
49
dows = { }
50
50
days = [ ]
51
51
value . split ( ',' ) . each do |expr |
52
- day = TimeUtil . ical_day_to_symbol ( expr . strip [ -2 ..-1 ] )
53
- if expr . strip . length > 2 # day with occurence
54
- occ = expr [ 0 ..-3 ] . to_i
55
- dows [ day ] . nil? ? dows [ day ] = [ occ ] : dows [ day ] . push ( occ )
56
- days . delete ( TimeUtil . sym_to_wday ( day ) )
57
- else
58
- days . push TimeUtil . sym_to_wday ( day ) if dows [ day ] . nil?
59
- end
52
+ day = TimeUtil . ical_day_to_symbol ( expr . strip [ -2 ..-1 ] )
53
+ if expr . strip . length > 2 # day with occurence
54
+ occ = expr [ 0 ..-3 ] . to_i
55
+ dows [ day ] . nil? ? dows [ day ] = [ occ ] : dows [ day ] . push ( occ )
56
+ days . delete ( TimeUtil . sym_to_wday ( day ) )
57
+ else
58
+ days . push TimeUtil . sym_to_wday ( day ) if dows [ day ] . nil?
59
+ end
60
60
end
61
61
params [ :validations ] [ :day_of_week ] = dows unless dows . empty?
62
62
params [ :validations ] [ :day ] = days unless days . empty?
63
- when " BYMONTHDAY"
64
- params [ :validations ] [ :day_of_month ] = value . split ( ',' ) . collect { | v | v . to_i }
65
- when " BYMONTH"
66
- params [ :validations ] [ :month_of_year ] = value . split ( ',' ) . collect { | v | v . to_i }
67
- when " BYYEARDAY"
68
- params [ :validations ] [ :day_of_year ] = value . split ( ',' ) . collect { | v | v . to_i }
69
- when " BYSETPOS"
63
+ when ' BYMONTHDAY'
64
+ params [ :validations ] [ :day_of_month ] = value . split ( ',' ) . collect ( & : to_i)
65
+ when ' BYMONTH'
66
+ params [ :validations ] [ :month_of_year ] = value . split ( ',' ) . collect ( & : to_i)
67
+ when ' BYYEARDAY'
68
+ params [ :validations ] [ :day_of_year ] = value . split ( ',' ) . collect ( & : to_i)
69
+ when ' BYSETPOS'
70
70
else
71
- raise "Invalid or unsupported rrule command : #{ name } "
71
+ raise "Invalid or unsupported rrule command: #{ name } "
72
72
end
73
73
end
74
74
75
75
params [ :interval ] ||= 1
76
+
76
77
# WKST only valid for weekly rules
77
78
params . delete ( :wkst ) unless params [ :freq ] == 'weekly'
78
79
0 commit comments