Module: Vulnerability::Selection
- Included in:
- Validate
- Defined in:
- lib/puppet_x/vulnerability/selection.rb
Overview
Common selections on the Vulnerability list
Instance Method Summary collapse
- #all_levels ⇒ Object
- #allowed_levels(level) ⇒ Object
- #filter_cves(cve_list, allow_list) ⇒ Object
- #level_selection(cve_list, level) ⇒ Object
- #selected_levels(level) ⇒ Object
- #validate_level(level) ⇒ Object
Instance Method Details
#all_levels ⇒ Object
18 19 20 |
# File 'lib/puppet_x/vulnerability/selection.rb', line 18 def all_levels %w[Critical High Medium Low Negligible Unknown] end |
#allowed_levels(level) ⇒ Object
27 28 29 30 |
# File 'lib/puppet_x/vulnerability/selection.rb', line 27 def allowed_levels(level) validate_level(level) all_levels.select { |e| all_levels.index(e) > all_levels.index(level) } end |
#filter_cves(cve_list, allow_list) ⇒ Object
9 10 11 |
# File 'lib/puppet_x/vulnerability/selection.rb', line 9 def filter_cves(cve_list, allow_list) cve_list.reject { |c| allow_list.include?(c) } end |
#level_selection(cve_list, level) ⇒ Object
13 14 15 16 |
# File 'lib/puppet_x/vulnerability/selection.rb', line 13 def level_selection(cve_list, level) allowed_levels = allowed_levels(level) cve_list.reject { |_c, data| allowed_levels.include?(data['severity']) } end |
#selected_levels(level) ⇒ Object
22 23 24 25 |
# File 'lib/puppet_x/vulnerability/selection.rb', line 22 def selected_levels(level) validate_level(level) all_levels.select { |e| all_levels.index(e) <= all_levels.index(level) } end |
#validate_level(level) ⇒ Object
32 33 34 |
# File 'lib/puppet_x/vulnerability/selection.rb', line 32 def validate_level(level) fail "Level #{level} is not a valid level. Use one of: #{all_levels.join(', ')}." unless all_levels.include?(level) end |