Class: SecurityReport::Auditor

Inherits:
Object
  • Object
show all
Defined in:
lib/security_report.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeAuditor

Returns a new instance of Auditor.



20
21
22
23
24
# File 'lib/security_report.rb', line 20

def initialize
  @results = []
  @skipped = []
  @scanner = Scanner.new
end

Instance Attribute Details

#skippedObject (readonly)

Returns the value of attribute skipped.



18
19
20
# File 'lib/security_report.rb', line 18

def skipped
  @skipped
end

Class Method Details

.audit(directories) ⇒ Object



8
9
10
11
12
13
14
15
16
# File 'lib/security_report.rb', line 8

def self.audit(directories)
  auditor = new

  directories.each do |directory|
    auditor.check(directory)
  end

  auditor
end

Instance Method Details

#check(directory) ⇒ Object



26
27
28
29
30
# File 'lib/security_report.rb', line 26

def check(directory)
  @results.concat(@scanner.scan(directory))
rescue Errno::ENOENT
  @skipped.push(directory)
end

#resultsObject



32
33
34
35
36
# File 'lib/security_report.rb', line 32

def results
  @results.group_by(&:identifier).map do |_, results|
    GroupedResult.new(results)
  end
end