diff options
Diffstat (limited to 'app')
| -rw-r--r-- | app/models/compliance_check.rb | 6 | ||||
| -rw-r--r-- | app/models/compliance_control.rb | 4 |
2 files changed, 6 insertions, 4 deletions
diff --git a/app/models/compliance_check.rb b/app/models/compliance_check.rb index 71cb9aef2..fda95ea08 100644 --- a/app/models/compliance_check.rb +++ b/app/models/compliance_check.rb @@ -13,10 +13,10 @@ class ComplianceCheck < ActiveRecord::Base validates :code, presence: true validates :origin_code, presence: true - def control - ComplianceControl.find_by! origin_code: origin_code + def control_class + compliance_control_name.present? ? compliance_control_name.constantize : nil end - delegate :predicate, to: :control + delegate :predicate, to: :control_class, allow_nil: true end diff --git a/app/models/compliance_control.rb b/app/models/compliance_control.rb index 45f886005..7cd9ba933 100644 --- a/app/models/compliance_control.rb +++ b/app/models/compliance_control.rb @@ -28,6 +28,8 @@ class ComplianceControl < ActiveRecord::Base end super end + + def predicate; I18n.t("compliance_controls.#{self.name.underscore}.description") end end extend Enumerize @@ -60,7 +62,7 @@ class ComplianceControl < ActiveRecord::Base self.origin_code ||= self.class.default_code end - def predicate; I18n.t("compliance_controls.#{self.class.name.underscore}.description") end + def predicate; self.class.predicate end end |
