Module: TypedParameter::EnumConstraint

Defined in:
lib/typed_parameter/enum_constraint.rb

Class Method Summary collapse

Class Method Details

.array_value(values, enums) ⇒ Object



10
11
12
13
14
15
16
17
18
# File 'lib/typed_parameter/enum_constraint.rb', line 10

def self.array_value(values, enums)
  values.each do |value|
    next if value.to_s.in? enums

    raise EnumFieldError, "#{value} must be in #{enums.join(', ')}"
  end

  values
end

.value(value, enums) ⇒ Object

Raises:



3
4
5
6
7
8
# File 'lib/typed_parameter/enum_constraint.rb', line 3

def self.value(value, enums)
  return array_value(value, enums) if value.is_a? Array
  return value if value.to_s.in? enums

  raise EnumFieldError, "#{value} must be in #{enums.join(', ')}"
end