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.



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

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

Class Method Details

.findings(resources = nil) ⇒ Object



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

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

.run(resources = nil) ⇒ Object



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

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

Instance Method Details

#runObject



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

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