class AccessPeriod < ApplicationRecord belongs_to :user before_validation :set_default_start_date, on: :create validates :end_date, presence: true, if: -> { user&.access_revoked? } private def set_default_start_date self.start_date ||= Date.today if self.new_record? && self.start_date.blank? end end