aboutsummaryrefslogtreecommitdiffstats
path: root/app/models/compliance_check.rb
blob: 4ef6170e98e3e6128a9bf6b20d3a0d5b2d14f764 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class ComplianceCheck < ApplicationModel
  include ComplianceItemSupport

  self.inheritance_column = nil

  extend Enumerize
  belongs_to :compliance_check_set
  belongs_to :compliance_check_block

  enumerize :criticity, in: %i(warning error), scope: true, default: :warning
  validates :criticity, presence: true
  validates :name, presence: true
  validates :code, presence: true
  validates :origin_code, presence: true

  def control_class
    compliance_control_name.present? ? compliance_control_name.constantize : nil
  end

  delegate :predicate, to: :control_class, allow_nil: true
  delegate :prerequisite, to: :control_class, allow_nil: true

end