lecture-attendance-manager/app/models/lecture.rb
2023-09-29 19:54:03 +01:00

37 lines
718 B
Ruby

class Lecture < ApplicationRecord
belongs_to :course
enum :status, [
:undetermined,
:future,
:happening_now,
:attended_in_person,
:watched_recording,
:missed,
], default: :undetermined
def week_number
((start_time.beginning_of_week - Time.new('2023-10-02')) / 1.week).floor
end
def live_video_url
nil
end
def recording_url
return nil if recording_id.nil?
"https://uniofbath.cloud.panopto.eu/Panopto/Pages/Viewer.aspx?id=#{recording_id}"
end
def nice_title
if course.title == "General Relativity"
regex = /.+L(\d+).*/
lecture_number = self.title.match(regex)[1].to_i
return "Lecture #{lecture_number}"
end
title
end
end