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
Instance Attribute Summary collapse
-
#end_time ⇒ Object
readonly
Returns the value of attribute end_time.
-
#end_times ⇒ Object
readonly
Returns the value of attribute end_times.
-
#event_end_times ⇒ Object
readonly
Returns the value of attribute event_end_times.
-
#event_start_times ⇒ Object
readonly
Returns the value of attribute event_start_times.
-
#start_time ⇒ Object
readonly
Returns the value of attribute start_time.
-
#start_times ⇒ Object
readonly
Returns the value of attribute start_times.
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: [], start_time: 0, end_time: 0, start_times: [], end_times: []) ⇒ Object
- #setup_from_schedule_def(sdef) ⇒ Object
Instance Attribute Details
#end_time ⇒ Object (readonly)
Returns the value of attribute end_time.
10 11 12 |
# File 'lib/coursegen/course/schedule/scheduler.rb', line 10 def end_time @end_time end |
#end_times ⇒ Object (readonly)
Returns the value of attribute end_times.
10 11 12 |
# File 'lib/coursegen/course/schedule/scheduler.rb', line 10 def end_times @end_times end |
#event_end_times ⇒ Object (readonly)
Returns the value of attribute event_end_times.
10 11 12 |
# File 'lib/coursegen/course/schedule/scheduler.rb', line 10 def event_end_times @event_end_times end |
#event_start_times ⇒ Object (readonly)
Returns the value of attribute event_start_times.
10 11 12 |
# File 'lib/coursegen/course/schedule/scheduler.rb', line 10 def event_start_times @event_start_times end |
#start_time ⇒ Object (readonly)
Returns the value of attribute start_time.
10 11 12 |
# File 'lib/coursegen/course/schedule/scheduler.rb', line 10 def start_time @start_time end |
#start_times ⇒ Object (readonly)
Returns the value of attribute start_times.
10 11 12 |
# File 'lib/coursegen/course/schedule/scheduler.rb', line 10 def start_times @start_times end |
Class Method Details
.add_weeks(the_date, number) ⇒ Object
12 13 14 |
# File 'lib/coursegen/course/schedule/scheduler.rb', line 12 def self.add_weeks(the_date, number) the_date.to_date + Integer(number) * 7 end |
Instance Method Details
#event_date_by_index(ind) ⇒ Object
46 47 48 |
# File 'lib/coursegen/course/schedule/scheduler.rb', line 46 def event_date_by_index(ind) null? ? nil : @event_dates[ind] end |
#null? ⇒ Boolean
50 51 52 |
# File 'lib/coursegen/course/schedule/scheduler.rb', line 50 def null? @start_date.nil? end |
#setup_from_args(start: nil, weekdays: nil, number: nil, skips: [], start_time: 0, end_time: 0, start_times: [], end_times: []) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/coursegen/course/schedule/scheduler.rb', line 16 def setup_from_args(start: nil, weekdays: nil, number: nil, skips: [], start_time: 0, end_time: 0, start_times: [], end_times: []) if start.nil? @start = nil return end convert_and_verify_arguments(start, weekdays, number, skips, start_time, end_time, start_times, end_times) @weekdays.sort! recalc_event_map end |
#setup_from_schedule_def(sdef) ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/coursegen/course/schedule/scheduler.rb', line 28 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, start_time: sdef.start_time, end_time: sdef.end_time, start_times: sdef.start_times, end_times: sdef.end_times ) end |