Class: Evilution::Mutator::Registry

Inherits:
Object
  • Object
show all
Defined in:
lib/evilution/mutator/registry.rb

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeRegistry

Returns a new instance of Registry.



40
41
42
# File 'lib/evilution/mutator/registry.rb', line 40

def initialize
  @operators = []
end

Instance Method Details

#mutations_for(subject) ⇒ Object



49
50
51
52
53
# File 'lib/evilution/mutator/registry.rb', line 49

def mutations_for(subject)
  @operators.flat_map do |operator_class|
    operator_class.new.call(subject)
  end
end

#operator_countObject



55
56
57
# File 'lib/evilution/mutator/registry.rb', line 55

def operator_count
  @operators.length
end

#operatorsObject



59
60
61
# File 'lib/evilution/mutator/registry.rb', line 59

def operators
  @operators.dup
end

#register(operator_class) ⇒ Object



44
45
46
47
# File 'lib/evilution/mutator/registry.rb', line 44

def register(operator_class)
  @operators << operator_class
  self
end