Module: Dradis::Plugins::Import::Filters
- Defined in:
 - lib/dradis/plugins/import/filters.rb,
lib/dradis/plugins/import/filters/base.rb 
Defined Under Namespace
Classes: Base
Class Method Summary collapse
- 
  
    
      .[](plugin)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Provides access to filters by plugin :api: public.
 - 
  
    
      ._filters  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
:api: private.
 - 
  
    
      .add(plugin, label, filter, &block)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
– Class Methods ——————————————————– One Import plugin can define several filters (e.g. to query different endpoints of a remote API).
 
Class Method Details
.[](plugin) ⇒ Object
Provides access to filters by plugin :api: public
      38 39 40  | 
    
      # File 'lib/dradis/plugins/import/filters.rb', line 38 def [](plugin) _filters[plugin] end  | 
  
._filters ⇒ Object
:api: private
      43 44 45  | 
    
      # File 'lib/dradis/plugins/import/filters.rb', line 43 def _filters @filters ||= {} end  | 
  
.add(plugin, label, filter, &block) ⇒ Object
– Class Methods ——————————————————– One Import plugin can define several filters (e.g. to query different endpoints of a remote API).
Use this method in your Importer to register different filters, pass a block or a class.
Examples:
register_filter :by_osvdb_id do
def c
end
      19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34  | 
    
      # File 'lib/dradis/plugins/import/filters.rb', line 19 def add(plugin, label, filter, &block) filter ||= Class.new(Dradis::Plugins::Import::Filters::Base) filter.class_eval(&block) if block_given? unless filter.method_defined?(:query) raise NoMethodError, "query() is not declared in the #{label.inspect} filter" end base = Dradis::Plugins::Import::Filters::Base unless filter.ancestors.include?(base) raise "#{label.inspect} is not a #{base}" end _filters[plugin] = {} unless _filters.key?(plugin) _filters[plugin][label] = filter end  |