class Nursing::Screening < ApplicationRecord
  include Base::Nursing::Screening

  audited

  belongs_to :student, foreign_key: :StudentID, inverse_of: :nursing_screenings

  delegate :school, to: :student

  validate :value_exists

  scope :with_date_range, ->(range) { where(date: range) if range.present? }

  private
    def value_exists
      values = [:sight, :hearing, :weight, :height]
      return unless values.all? { |i| send(i).nil? }

      values.each do |value|
        errors.add(value, 'must enter at least one option.')
      end
    end
end
