Class: Scheduler
- Inherits:
-
Object
- Object
- Scheduler
- Defined in:
- lib/coursegen/course/schedule/scheduler.rb
Overview
Calculate days on which each event occurs, based on the configuration info
Class Method Summary collapse
Instance Method Summary collapse
- #event_date_by_index(ind) ⇒ Object
- #null? ⇒ Boolean
- #setup_from_args(start: nil, weekdays: nil, number: nil, skips: []) ⇒ Object
- #setup_from_schedule_def(sdef) ⇒ Object
Class Method Details
.add_weeks(the_date, number) ⇒ Object
6 7 8 |
# File 'lib/coursegen/course/schedule/scheduler.rb', line 6 def self.add_weeks(the_date, number) the_date.to_date + Integer(number) * 7 end |
Instance Method Details
#event_date_by_index(ind) ⇒ Object
29 30 31 |
# File 'lib/coursegen/course/schedule/scheduler.rb', line 29 def event_date_by_index(ind) null? ? nil : @event_dates[ind] end |
#null? ⇒ Boolean
33 34 35 |
# File 'lib/coursegen/course/schedule/scheduler.rb', line 33 def null? @start_date.nil? end |
#setup_from_args(start: nil, weekdays: nil, number: nil, skips: []) ⇒ Object
10 11 12 13 14 15 16 17 18 |
# File 'lib/coursegen/course/schedule/scheduler.rb', line 10 def setup_from_args(start: nil, weekdays: nil, number: nil, skips: []) if start.nil? @start = nil return end convert_and_verify_arguments(start, weekdays, number, skips) @weekdays.sort! recalc_event_map end |
#setup_from_schedule_def(sdef) ⇒ Object
20 21 22 23 24 25 26 27 |
# File 'lib/coursegen/course/schedule/scheduler.rb', line 20 def setup_from_schedule_def(sdef) if sdef.nil? @start = nil return end setup_from_args(start: sdef.first_day, weekdays: sdef.weekdays, number: sdef.number, skips: sdef.skips) end |