Class: Line::Message::Builder::Validators::Enum

Inherits:
Object
  • Object
show all
Defined in:
lib/line/message/builder/validators/enum.rb

Overview

Validate values against a set of allowed values.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*allowed_values) ⇒ Enum

Returns a new instance of Enum.



11
12
13
# File 'lib/line/message/builder/validators/enum.rb', line 11

def initialize(*allowed_values)
  @allowed_values = allowed_values
end

Instance Attribute Details

#allowed_valuesObject (readonly)

Returns the value of attribute allowed_values.



9
10
11
# File 'lib/line/message/builder/validators/enum.rb', line 9

def allowed_values
  @allowed_values
end

Instance Method Details

#valid!(value) ⇒ Object

Raises:



15
16
17
18
19
# File 'lib/line/message/builder/validators/enum.rb', line 15

def valid!(value)
  return if allowed_values.include?(value.to_sym)

  raise ValidationError, "Invalid value: #{value}. Allowed values are: #{allowed_values.join(", ")}"
end