Class: FiberAudit::Collection

Inherits:
Object
  • Object
show all
Includes:
Enumerable
Defined in:
lib/fiber_audit/findings/collection.rb

Instance Method Summary collapse

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

#eachObject



14
15
16
# File 'lib/fiber_audit/findings/collection.rb', line 14

def each(&)
  @findings.each(&)
end

#empty?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'lib/fiber_audit/findings/collection.rb', line 37

def empty?
  @findings.empty?
end

#sizeObject



33
34
35
# File 'lib/fiber_audit/findings/collection.rb', line 33

def size
  @findings.size
end

#to_aObject



41
42
43
# File 'lib/fiber_audit/findings/collection.rb', line 41

def to_a
  @findings.dup
end

#to_h_for_jsonObject



45
46
47
# File 'lib/fiber_audit/findings/collection.rb', line 45

def to_h_for_json
  @findings.map(&:to_h_for_json)
end