Class: Xezat::DetectorManager

Inherits:
Object
  • Object
show all
Defined in:
lib/xezat/detectors.rb

Instance Method Summary collapse

Constructor Details

#initialize(detector_dir = File.expand_path(File.join(File.dirname(__FILE__), 'detector'))) ⇒ DetectorManager

Returns a new instance of DetectorManager.



3
4
5
6
7
8
9
# File 'lib/xezat/detectors.rb', line 3

def initialize(detector_dir = File.expand_path(File.join(File.dirname(__FILE__), 'detector')))
  @detectors = {}
  Dir.glob(File.join(detector_dir, '*.rb')) do |rb|
    require rb
    @detectors[File.basename(rb, '.rb').intern] = Object.const_get("Xezat::Detector::#{Xezat::Detector.constants[-1]}").new
  end
end

Instance Method Details

#detect(variables) ⇒ Object



11
12
13
14
15
16
17
# File 'lib/xezat/detectors.rb', line 11

def detect(variables)
  tools = []
  @detectors.each do |name, detector|
    tools << name if detector.detect(variables)
  end
  tools
end