Module: Arachni::Framework::Parts::Plugin
- Included in:
- Arachni::Framework
- Defined in:
- lib/arachni/framework/parts/plugin.rb
Overview
Provides a Plugin::Manager and related helpers.
Instance Attribute Summary collapse
- #plugins ⇒ Arachni::Plugin::Manager readonly
Instance Method Summary collapse
- #initialize ⇒ Object
- 
  
    
      #list_plugins(patterns = nil)  ⇒ Array<Hash> 
    
    
  
  
  
  
  
  
  
  
  
    Information about all available Plugins. 
Instance Attribute Details
#plugins ⇒ Arachni::Plugin::Manager (readonly)
| 19 20 21 | # File 'lib/arachni/framework/parts/plugin.rb', line 19 def plugins @plugins end | 
Instance Method Details
#initialize ⇒ Object
| 21 22 23 24 | # File 'lib/arachni/framework/parts/plugin.rb', line 21 def initialize super @plugins = Arachni::Plugin::Manager.new( self ) end | 
#list_plugins(patterns = nil) ⇒ Array<Hash>
Returns Information about all available Plugins.
| 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | # File 'lib/arachni/framework/parts/plugin.rb', line 28 def list_plugins( patterns = nil ) loaded = @plugins.loaded begin @plugins.clear @plugins.available.map do |plugin| path = @plugins.name_to_path( plugin ) next if patterns && !@plugins.matches_globs?( path, patterns ) @plugins[plugin].info.merge( options: @plugins[plugin].info[:options] || [], shortname: plugin, path: path, author: [@plugins[plugin].info[:author]]. flatten.map { |a| a.strip } ) end.compact ensure @plugins.clear @plugins.load loaded end end |