Class: Arachni::RPC::Server::Plugin::Manager

Inherits:
Plugin::Manager show all
Defined in:
lib/arachni/rpc/server/plugin/manager.rb

Overview

We need to extend the original Manager and redeclare its inherited methods which are required over RPC.

@author: Tasos “Zapotek” Laskos

<[email protected]>
<[email protected]>

@version: 0.1.1

Constant Summary

Constants inherited from Plugin::Manager

Plugin::Manager::DEFAULT

Constants inherited from ComponentManager

ComponentManager::EXCLUDE, ComponentManager::WILDCARD

Instance Method Summary collapse

Methods inherited from Plugin::Manager

#block!, #busy?, #get, #job_names, #jobs, #kill, #load_defaults!, #run, #sane_env?

Methods included from Module::Utilities

#exception_jail, #get_path, #hash_keys_to_str, #normalize_url, #read_file, #seed, #uri_decode, #uri_encode, #uri_parse, #uri_parser, #url_sanitize

Methods inherited from ComponentManager

#[], #available, #name_to_path, #parse, #path_to_name, #paths, #prep_opts, #wilcard_to_names

Methods included from UI::Output

#buffer, #debug!, #debug?, #flush_buffer, #mute!, #muted?, #only_positives!, #only_positives?, #print_bad, #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?, #uncap_buffer!, #unmute!, #verbose!, #verbose?

Constructor Details

#initialize(framework) ⇒ Manager

Returns a new instance of Manager.



34
35
36
37
38
# File 'lib/arachni/rpc/server/plugin/manager.rb', line 34

def initialize( framework )
    super( framework )

    @plugin_opts = {}
end

Instance Method Details

#create(name) ⇒ Object



47
48
49
# File 'lib/arachni/rpc/server/plugin/manager.rb', line 47

def create( name )
    self[name].new( @framework, prep_opts( name, self[name], @plugin_opts[name] ) )
end

#load(plugins) ⇒ Object



40
41
42
43
44
45
# File 'lib/arachni/rpc/server/plugin/manager.rb', line 40

def load( plugins )
    @plugin_opts.merge!( plugins )
    super( plugins.keys )

    @framework.opts.plugins = plugins
end