class LecturerTimetableExportStratagy

Public Class Methods

new(dates, lecturer) click to toggle source

Contract Or, Lecturer => Any

# File lib/tmis/engine/export/timetable_exporter.rb, line 169
def initialize(dates, lecturer)
  @dates = dates
  @lecturer = lecturer
end

Public Instance Methods

column_value(group) click to toggle source

Contract Any => Any

# File lib/tmis/engine/export/timetable_exporter.rb, line 191
def column_value(group)
  group.title
end
columns() click to toggle source
TODO Изменить контракты

Contract None => RespondTo

# File lib/tmis/engine/export/timetable_exporter.rb, line 181
def columns
  Group.where(id: @lecturer.studies.where(date: @dates, groupable_type: 'Group').select(:groupable_id))
end
row_value(date) click to toggle source

Contract Any => Any

# File lib/tmis/engine/export/timetable_exporter.rb, line 186
def row_value(date)
  date.strftime('%A')
end
rows() click to toggle source

Contract None => Or

# File lib/tmis/engine/export/timetable_exporter.rb, line 175
def rows
  @dates
end
studies(date, group) click to toggle source

Contract Any, Any => ArrayOf

# File lib/tmis/engine/export/timetable_exporter.rb, line 196
def studies(date, group)
  Study.of_group_and_its_subgroups(group).where(date: date, lecturer_id: @lecturer).to_a
end