# frozen_string_literal: true class SuccessCriterion < ApplicationRecord belongs_to :element, touch: true belongs_to :check, optional: true has_rich_text :test_comment has_rich_text :quick_criterion has_rich_text :quick_fail has_rich_text :quick_fix delegate :page, :report, to: :element enum :result, %i[passed failed not_applicable] enum :level, %i[A AA AAA] before_save :set_position def level_value return nil unless level self.class.levels.values.index_of(level) end def header "HEADER" end private def set_position self.position ||= (element.success_criteria.pluck(:position).max || 0) + 1 Rails.logger.debug("set position: "+position.to_s) end end