Class: FiberAudit::Collection
- Inherits:
-
Object
- Object
- FiberAudit::Collection
- Includes:
- Enumerable
- Defined in:
- lib/fiber_audit/findings/collection.rb
Instance Method Summary collapse
- #add(finding) ⇒ Object
- #by_rule(rule_id) ⇒ Object
- #by_severity_min(min_severity) ⇒ Object
- #each ⇒ Object
- #empty? ⇒ Boolean
-
#initialize(findings = []) ⇒ Collection
constructor
A new instance of Collection.
- #size ⇒ Object
- #to_a ⇒ Object
- #to_h_for_json ⇒ Object
Constructor Details
#initialize(findings = []) ⇒ Collection
Returns a new instance of Collection.
9 10 11 12 |
# File 'lib/fiber_audit/findings/collection.rb', line 9 def initialize(findings = []) @findings = Array(findings).dup @findings.each { |f| validate_evidence!(f) } end |
Instance Method Details
#add(finding) ⇒ Object
18 19 20 21 22 |
# File 'lib/fiber_audit/findings/collection.rb', line 18 def add(finding) validate_evidence!(finding) @findings << finding self end |
#by_rule(rule_id) ⇒ Object
24 25 26 |
# File 'lib/fiber_audit/findings/collection.rb', line 24 def by_rule(rule_id) @findings.select { _1.rule_id == rule_id } end |
#by_severity_min(min_severity) ⇒ Object
28 29 30 31 |
# File 'lib/fiber_audit/findings/collection.rb', line 28 def by_severity_min(min_severity) min_index = Severity.index(min_severity) @findings.select { Severity.index(_1.severity) <= min_index } end |
#each ⇒ Object
14 15 16 |
# File 'lib/fiber_audit/findings/collection.rb', line 14 def each(&) @findings.each(&) end |
#empty? ⇒ Boolean
37 38 39 |
# File 'lib/fiber_audit/findings/collection.rb', line 37 def empty? @findings.empty? end |
#size ⇒ Object
33 34 35 |
# File 'lib/fiber_audit/findings/collection.rb', line 33 def size @findings.size end |
#to_a ⇒ Object
41 42 43 |
# File 'lib/fiber_audit/findings/collection.rb', line 41 def to_a @findings.dup end |
#to_h_for_json ⇒ Object
45 46 47 |
# File 'lib/fiber_audit/findings/collection.rb', line 45 def to_h_for_json @findings.map(&:to_h_for_json) end |