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