Sha256: a2beea97ace41d375c92d337ddcfe8a7311536c31666fd2d7036455d1534ec50

Contents?: true

Size: 1.52 KB

Versions: 4

Compression:

Stored size: 1.52 KB

Contents

=begin
                  Arachni
  Copyright (c) 2010-2011 Tasos "Zapotek" Laskos <tasos.laskos@gmail.com>

  This is free software; you can copy and distribute and modify
  this program under the term of the GPL v2.0 License
  (See LICENSE file for details)

=end

module Arachni

#
# The namespace under which all modules exist
#
module Modules

    #
    # Resets the namespace unloading all module classes
    #
    def self.reset
        constants.each {
            |const|
            remove_const( const )
        }
    end
end

module Module

#
# Arachni::Module::Manager class
#
# Holds and manages the modules and their results.
#
# @author: Tasos "Zapotek" Laskos
#                                      <tasos.laskos@gmail.com>
#                                      <zapotek@segfault.gr>
# @version: 0.1
#
class Manager < Arachni::ComponentManager

    include Arachni::UI::Output

    #
    # @param    [Arachni::Options]  opts
    #
    def initialize( opts )
        super( opts.dir['modules'], Arachni::Modules )
        @opts = opts
        @@results  = []
    end

    #
    # Class method
    #
    # Registers module results with...well..us.
    #
    # @param    [Array]
    #
    def self.register_results( results )
        @@results |= results
    end

    #
    # Class method
    #
    # Gets module results
    #
    # @param    [Array]
    #
    def self.results( )
        @@results
    end

    def results
        @@results
    end

    def self.reset
        @@results.clear
        Arachni::Modules.reset
    end

end
end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
arachni-0.2.4 lib/module/manager.rb
arachni-0.2.3 lib/module/manager.rb
arachni-0.2.2.2 lib/module/manager.rb
arachni-0.2.2.1 lib/module/manager.rb