aboutsummaryrefslogtreecommitdiffstats
path: root/app/helpers/compliance_controls_helper.rb
blob: abf909929db87f95b72657311fd287d5a5511844 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
module ComplianceControlsHelper
  def subclass_selection_list
    ComplianceControl.subclass_patterns.map(&method(:make_subclass_selection_item))
  end


  def make_subclass_selection_item(key_pattern)
    key, pattern = key_pattern
    [t("compliance_controls.filters.subclasses.#{key}"), "-#{pattern}-"]
  end

  def compliance_control_metadatas(compliance_control)
    attributes = resource.class.dynamic_attributes
    attributes.push(*resource.control_attributes.keys) if resource&.control_attributes&.keys

    {}.tap do |hash|
      attributes.each do |attribute|
        hash[ComplianceControl.human_attribute_name(attribute)] = resource.send(attribute)
      end
    end
  end
end