Class: Violation
- Inherits:
-
RuleDefinition
- Object
- RuleDefinition
- Violation
- Defined in:
- lib/cfn-nag/violation.rb
Overview
Rule definition for violations
Constant Summary
Constants inherited from RuleDefinition
RuleDefinition::FAILING_VIOLATION, RuleDefinition::WARNING
Instance Attribute Summary collapse
-
#element_types ⇒ Object
readonly
Returns the value of attribute element_types.
-
#line_numbers ⇒ Object
readonly
Returns the value of attribute line_numbers.
-
#logical_resource_ids ⇒ Object
readonly
Returns the value of attribute logical_resource_ids.
Attributes inherited from RuleDefinition
Class Method Summary collapse
- .count_failures(violations) ⇒ Object
- .count_warnings(violations) ⇒ Object
- .fatal_violation(message) ⇒ Object
Instance Method Summary collapse
-
#initialize(id:, name:, type:, message:, logical_resource_ids: [], line_numbers: [], element_types: []) ⇒ Violation
constructor
rubocop:disable Metrics/ParameterLists.
- #to_h ⇒ Object
-
#to_s ⇒ Object
rubocop:enable Metrics/ParameterLists.
Methods inherited from RuleDefinition
Constructor Details
#initialize(id:, name:, type:, message:, logical_resource_ids: [], line_numbers: [], element_types: []) ⇒ Violation
rubocop:disable Metrics/ParameterLists
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/cfn-nag/violation.rb', line 10 def initialize(id:, name:, type:, message:, logical_resource_ids: [], line_numbers: [], element_types: []) super id: id, name: name, type: type, message: @logical_resource_ids = logical_resource_ids @line_numbers = line_numbers @element_types = element_types end |
Instance Attribute Details
#element_types ⇒ Object (readonly)
Returns the value of attribute element_types.
7 8 9 |
# File 'lib/cfn-nag/violation.rb', line 7 def element_types @element_types end |
#line_numbers ⇒ Object (readonly)
Returns the value of attribute line_numbers.
7 8 9 |
# File 'lib/cfn-nag/violation.rb', line 7 def line_numbers @line_numbers end |
#logical_resource_ids ⇒ Object (readonly)
Returns the value of attribute logical_resource_ids.
7 8 9 |
# File 'lib/cfn-nag/violation.rb', line 7 def logical_resource_ids @logical_resource_ids end |
Class Method Details
.count_failures(violations) ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 |
# File 'lib/cfn-nag/violation.rb', line 54 def count_failures(violations) violations.inject(0) do |count, violation| if violation.type == Violation::FAILING_VIOLATION count += if empty?(violation.logical_resource_ids) 1 else violation.logical_resource_ids.size end end count end end |
.count_warnings(violations) ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/cfn-nag/violation.rb', line 41 def count_warnings(violations) violations.inject(0) do |count, violation| if violation.type == Violation::WARNING count += if empty?(violation.logical_resource_ids) 1 else violation.logical_resource_ids.size end end count end end |
.fatal_violation(message) ⇒ Object
67 68 69 70 71 72 |
# File 'lib/cfn-nag/violation.rb', line 67 def fatal_violation() Violation.new(id: 'FATAL', name: 'system', type: Violation::FAILING_VIOLATION, message: ) end |
Instance Method Details
#to_h ⇒ Object
32 33 34 35 36 37 38 |
# File 'lib/cfn-nag/violation.rb', line 32 def to_h super.to_h.merge( logical_resource_ids: @logical_resource_ids, line_numbers: @line_numbers, element_types: @element_types ) end |
#to_s ⇒ Object
rubocop:enable Metrics/ParameterLists
28 29 30 |
# File 'lib/cfn-nag/violation.rb', line 28 def to_s "#{super} #{@logical_resource_ids}" end |