Class: CoursesService::Commands::DistributeDueDates::Scheduler

Inherits:
Object
  • Object
show all
Defined in:
app/services/courses_service/commands/distribute_due_dates/scheduler.rb

Constant Summary collapse

WORKING_DAYS =
%w( mon tue wed thu fri )

Instance Method Summary collapse

Constructor Details

#initialize(args = {}) ⇒ Scheduler

Returns a new instance of Scheduler.



7
8
9
10
11
12
# File 'app/services/courses_service/commands/distribute_due_dates/scheduler.rb', line 7

def initialize(args = {})
  @args = args
  @startdate = first_due_date
  @enddate = args[:course].end_at
  @assignment_count = args[:assignment_count]
end

Instance Method Details

#assignments_per_dayObject



14
15
16
# File 'app/services/courses_service/commands/distribute_due_dates/scheduler.rb', line 14

def assignments_per_day
  (assignment_count / business_days_count)
end

#business_days_countObject



23
24
25
# File 'app/services/courses_service/commands/distribute_due_dates/scheduler.rb', line 23

def business_days_count
  calendar.business_days_between(startdate, enddate)
end

#course_datesObject



18
19
20
21
# File 'app/services/courses_service/commands/distribute_due_dates/scheduler.rb', line 18

def course_dates
  get_days
  populate_assignment_counts
end

#course_days_countObject



27
28
29
# File 'app/services/courses_service/commands/distribute_due_dates/scheduler.rb', line 27

def course_days_count
  enddate.to_date.mjd - startdate.to_date.mjd
end