class Arachni::Reporter::Manager

Holds and manages {Reporters}.

@author Tasos “Zapotek” Laskos <tasos.laskos@arachni-scanner.com>

Constants

NAMESPACE

The namespace under which all reporters exist.

Public Class Methods

new() click to toggle source
Calls superclass method Arachni::Component::Manager::new
# File lib/arachni/reporter/manager.rb, line 23
def initialize
    super( Arachni::Options.paths.reporters, NAMESPACE )
end
reset() click to toggle source
# File lib/arachni/reporter/manager.rb, line 38
def self.reset
    remove_constants( NAMESPACE )
end

Public Instance Methods

reset() click to toggle source
# File lib/arachni/reporter/manager.rb, line 41
def reset
    self.class.reset
end
run( name, report, options = {}, raise = false ) click to toggle source

@param [Symbol, String] name @param [Report] report @param [Hash] options

@see Report

# File lib/arachni/reporter/manager.rb, line 32
def run( name, report, options = {}, raise = false )
    exception_jail raise do
        self[name].new( report, prepare_options( name, self[name], options ) ).tap(&:run)
    end
end

Private Instance Methods

paths() click to toggle source
# File lib/arachni/reporter/manager.rb, line 47
def paths
    @paths_cache ||= Dir.glob( File.join( "#{@lib}", '*.rb' ) ).
        reject { |path| helper?( path ) }
end