7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# File 'lib/condensation/filters/advance_date_to_next.rb', line 7
def advance_date_to_next(input, day)
return if input.nil?
if input.is_a?(Time)
value = input
else
value = Time.parse(input) rescue nil
end
return input unless value.is_a?(Time)
days = %w{sunday monday tuesday wednesday thursday friday saturday}
day_number = days.index(day.downcase)
unless day_number
raise Liquid::ArgumentError, "#{day} is not a valid day"
end
loop do
value = value + 86400 break if value.wday == day_number
end
value
end
|