module Sis module Core class Exam < ApplicationRecord belongs_to :exam_setup validates :title, :start, :finish, :pass_point, :points, presence: true before_validation :set_pass_point def set_pass_point self.pass_point = points / 2 unless pass_point || !points end delegate(:name, to: :exam_setup, prefix: true, allow_nil: false) scope :by_application_setup, (lambda do |app_setup_id| joins(:exam_setup).where('sis_core_exam_setups.application_setup_id': app_setup_id) end) end end end