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
32
33
34
35
|
# File 'lib/condensation/filters/advance_date_to_next.rb', line 7
def advance_date_to_next(input, day)
return if input.nil?
value = if input.is_a?(Time)
input
else
begin
Time.parse(input)
rescue
nil
end
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 += 86_400 break if value.wday == day_number
end
value
end
|