Class: Evilution::Config::Validators::ExampleTargetingStrategy

Inherits:
Base
  • Object
show all
Defined in:
lib/evilution/config/validators/example_targeting_strategy.rb

Constant Summary collapse

STRATEGIES =
%i[lexical coverage].freeze

Class Method Summary collapse

Class Method Details

.call(value) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/evilution/config/validators/example_targeting_strategy.rb', line 8

def self.call(value)
  unless value.is_a?(String) || value.is_a?(Symbol)
    raise Evilution::ConfigError,
          "example_targeting_strategy must be lexical or coverage, got #{value.inspect}"
  end

  sym = value.to_sym
  unless STRATEGIES.include?(sym)
    raise Evilution::ConfigError,
          "example_targeting_strategy must be lexical or coverage, got #{sym.inspect}"
  end

  sym
end