Class: RediSearch::Validations::Inclusion

Inherits:
Object
  • Object
show all
Defined in:
lib/redi_search/validations/inclusion.rb

Instance Method Summary collapse

Constructor Details

#initialize(field:, within:, allow_nil: false) ⇒ Inclusion

Returns a new instance of Inclusion.



6
7
8
9
10
# File 'lib/redi_search/validations/inclusion.rb', line 6

def initialize(field:, within:, allow_nil: false)
  @field = field
  @within = within
  @allow_nil = allow_nil
end

Instance Method Details

#validate!(object) ⇒ Object

Raises:



12
13
14
15
16
17
18
# File 'lib/redi_search/validations/inclusion.rb', line 12

def validate!(object)
  value = object.send(field)

  return true if within.include?(value) || (allow_nil? && value.nil?)

  raise ValidationError, "#{value.inspect} not included in #{within}"
end