class Clavius::Schedule
Attributes
configuration[R]
Public Class Methods
new(&config)
click to toggle source
# File lib/clavius/schedule.rb, line 8 def initialize(&config) @configuration = Configuration.new(&config) end
Public Instance Methods
active?(date)
click to toggle source
# File lib/clavius/schedule.rb, line 36 def active?(date) date = date.to_date (weekdays.include?(date.wday) || included.include?(date)) && !excluded.include?(date) end
after(date)
click to toggle source
# File lib/clavius/schedule.rb, line 27 def after(date) date .to_date .next_day .upto(Time::HEAT_DEATH) .lazy .select(&method(:active?)) end
before(date)
click to toggle source
# File lib/clavius/schedule.rb, line 18 def before(date) date .to_date .prev_day .downto(Time::BIG_BANG) .lazy .select(&method(:active?)) end
between(start_date, end_date)
click to toggle source
# File lib/clavius/schedule.rb, line 47 def between(start_date, end_date) start_date .to_date .upto(end_date.to_date.prev_day) .select(&method(:active?)) end
days(number)
click to toggle source
# File lib/clavius/schedule.rb, line 43 def days(number) Calculation::DaysFrom.new(self, number) end