Class: Arachni::Report::Manager
- Inherits:
-
ComponentManager
- Object
- Hash
- ComponentManager
- Arachni::Report::Manager
- Defined in:
- lib/report/manager.rb
Overview
Arachni::Report::Manager class
Holds and manages the registry of the reports.
@author: Tasos “Zapotek” Laskos
<[email protected]>
<[email protected]> <br/>
@version: 0.1
Constant Summary collapse
- EXTENSION =
the extension of the Arachni Framework Report files
'.afr'
Constants inherited from ComponentManager
ComponentManager::EXCLUDE, ComponentManager::WILDCARD
Class Method Summary collapse
Instance Method Summary collapse
- #extension ⇒ Object
-
#initialize(opts) ⇒ Manager
constructor
A new instance of Manager.
- #paths ⇒ Object
-
#run(audit_store, run_afr = true) ⇒ Object
Takes care of report execution.
- #run_one(name, audit_store) ⇒ Object
Methods inherited from ComponentManager
#[], #available, #load, #name_to_path, #parse, #path_to_name, #prep_opts, #wilcard_to_names
Methods included from UI::Output
#buffer, #debug!, #debug?, #flush_buffer, #mute!, #muted?, #only_positives!, #only_positives?, #print_debug, #print_debug_backtrace, #print_debug_pp, #print_error, #print_error_backtrace, #print_info, #print_line, #print_ok, #print_status, #print_verbose, #reroute_to_file, #reroute_to_file?, #unmute!, #verbose!, #verbose?
Constructor Details
Class Method Details
Instance Method Details
#extension ⇒ Object
85 86 87 |
# File 'lib/report/manager.rb', line 85 def extension return EXTENSION end |
#paths ⇒ Object
75 76 77 78 |
# File 'lib/report/manager.rb', line 75 def paths cpaths = paths = Dir.glob( File.join( "#{@lib}", "*.rb" ) ) return paths.reject { |path| helper?( path ) } end |
#run(audit_store, run_afr = true) ⇒ Object
Takes care of report execution
58 59 60 61 62 63 64 65 66 |
# File 'lib/report/manager.rb', line 58 def run( audit_store, run_afr = true ) self.each { |name, report| run_one( name, audit_store.deep_clone ) } # run the default report run_one( 'afr', audit_store.deep_clone ) if run_afr end |
#run_one(name, audit_store) ⇒ Object
68 69 70 71 72 73 |
# File 'lib/report/manager.rb', line 68 def run_one( name, audit_store ) report = self.[](name).new( audit_store.deep_clone, prep_opts( name, self.[](name), @opts.reports[name] ) ) report.run( ) end |