Class: RosettAi::Policy::Auditor
- Inherits:
-
Object
- Object
- RosettAi::Policy::Auditor
- Defined in:
- lib/rosett_ai/policy/auditor.rb
Overview
Generates compliance audit reports for the current project.
Audit results include deny list coverage, protected files, opt-out markers, and tier hierarchy validation.
Instance Method Summary collapse
-
#audit(project_files: []) ⇒ Hash
Generates an audit report.
-
#initialize(deny_list:, protected_files:, opt_out_scanner: OptOutScanner.new) ⇒ Auditor
constructor
A new instance of Auditor.
Constructor Details
#initialize(deny_list:, protected_files:, opt_out_scanner: OptOutScanner.new) ⇒ Auditor
Returns a new instance of Auditor.
16 17 18 19 20 |
# File 'lib/rosett_ai/policy/auditor.rb', line 16 def initialize(deny_list:, protected_files:, opt_out_scanner: OptOutScanner.new) @deny_list = deny_list @protected_files = protected_files @opt_out_scanner = opt_out_scanner end |
Instance Method Details
#audit(project_files: []) ⇒ Hash
Generates an audit report.
26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/rosett_ai/policy/auditor.rb', line 26 def audit(project_files: []) denied = project_files.select { |path| @deny_list.denied?(path) } opted_out = @opt_out_scanner.scan(project_files) { deny_list_patterns: @deny_list.size, denied_files: denied.size, protected_files: @protected_files.size, opted_out_files: opted_out.size, opted_out_paths: opted_out, compliant: true } end |