Class: Graphiti::Audit

Inherits:
Object show all
Defined in:
lib/graphiti/audit.rb,
lib/graphiti/audit/report.rb

Overview

Resources register themselves as they load, so eager load before auditing.

Defined Under Namespace

Classes: Finding, Report, Row

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(resources = nil) ⇒ Audit

Returns a new instance of Audit.



47
48
49
# File 'lib/graphiti/audit.rb', line 47

def initialize(resources = nil)
  @resources = resources || Graphiti.resources.reject(&:abstract_class?)
end

Class Method Details

.findings(resources = nil) ⇒ Object



43
44
45
# File 'lib/graphiti/audit.rb', line 43

def self.findings(resources = nil)
  run(resources).flat_map(&:findings)
end

.run(resources = nil) ⇒ Object



39
40
41
# File 'lib/graphiti/audit.rb', line 39

def self.run(resources = nil)
  new(resources).run
end

Instance Method Details

#runObject



51
52
53
# File 'lib/graphiti/audit.rb', line 51

def run
  @resources.sort_by { |resource| resource.name.to_s }.flat_map { |resource| rows_for(resource) }
end