Class: Evilution::Config::Validators::Isolation

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

Constant Summary collapse

ALLOWED =
%i[auto fork in_process].freeze
MESSAGE =
"isolation must be auto, fork, or in_process"

Class Method Summary collapse

Class Method Details

.call(value) ⇒ Object



9
10
11
12
13
14
15
16
17
18
# File 'lib/evilution/config/validators/isolation.rb', line 9

def self.call(value)
  raise Evilution::ConfigError, "#{MESSAGE}, got nil" if value.nil?

  raise Evilution::ConfigError, "#{MESSAGE}, got #{value.inspect}" unless value.is_a?(String) || value.is_a?(Symbol)

  sym = value.to_sym
  return sym if ALLOWED.include?(sym)

  raise Evilution::ConfigError, "#{MESSAGE}, got #{sym.inspect}"
end