class LecturerTimetableExportStratagy2

Public Class Methods

new(dates, lecturer) click to toggle source

Contract Or, Lecturer => Any

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

Public Instance Methods

column_value(date) click to toggle source

Contract Any => Any

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

Contract None => RespondTo

# File lib/tmis/engine/export/timetable_exporter.rb, line 306
def columns
  @dates
end
row_value(none) click to toggle source

Contract Any => Any

# File lib/tmis/engine/export/timetable_exporter.rb, line 311
def row_value(none)
  ""
end
rows() click to toggle source

Contract None => Or

# File lib/tmis/engine/export/timetable_exporter.rb, line 300
def rows
  ['']
end
studies(none, date) click to toggle source

Contract Any, Any => ArrayOf

# File lib/tmis/engine/export/timetable_exporter.rb, line 321
def studies(none, date)
  Study.find_by_sql("select studies.* "+
                    "from studies "+
                    "join groups on groups.id = studies.groupable_id and studies.groupable_type = 'Group' "+
                    "where date = '#{date.to_s}' and lecturer_id = #{@lecturer.id} "+
                    "union "+
                    "select studies.* "+
                    "from studies "+
                    "join subgroups on subgroups.id = studies.groupable_id and studies.groupable_type = 'Subgroup' "+
                    "where date = '#{date.to_s}' and lecturer_id = #{@lecturer.id}")
  #Study.of_group_and_its_subgroups(group).where(date: date, lecturer_id: @lecturer).to_a
end