Class: Evilution::Equivalent::Detector

Inherits:
Object
  • Object
show all
Defined in:
lib/evilution/equivalent/detector.rb

Instance Method Summary collapse

Constructor Details

#initialize(heuristics: nil) ⇒ Detector

Returns a new instance of Detector.



11
12
13
# File 'lib/evilution/equivalent/detector.rb', line 11

def initialize(heuristics: nil)
  @heuristics = heuristics || default_heuristics
end

Instance Method Details

#call(mutations) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/evilution/equivalent/detector.rb', line 15

def call(mutations)
  equivalent = []
  remaining = []

  mutations.each do |mutation|
    if @heuristics.any? { |h| h.match?(mutation) }
      equivalent << mutation
    else
      remaining << mutation
    end
  end

  [equivalent, remaining]
end