class Aws::Templates::Utils::Parametrized::Constraint::Enum

Check if passed value is in the enumeration values.

Example

class Piece
  include Aws::Templates::Utils::Parametrized

  parameter :param1, :constraint => enum([1,'2',3])
end

i = Piece.new(:param1 => 3)
i.param1 # => 3
i = Piece.new(:param1 => 4)
i.param1 # throws ParameterValueInvalid

Attributes

set[R]

Public Class Methods

new(list) click to toggle source
# File lib/aws/templates/utils/parametrized/constraint/enum.rb, line 26
def initialize(list)
  @set = Set.new(list)
end

Protected Instance Methods

check(_, value, _) click to toggle source
# File lib/aws/templates/utils/parametrized/constraint/enum.rb, line 32
def check(_, value, _)
  return if set.include?(value)

  raise(
    "Value #{value.inspect} is not in the set of allowed " \
    "values #{set.inspect}"
  )
end