Class: AttrValidator::Validators::InclusionValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/attr_validator/validators/inclusion_validator.rb

Class Method Summary collapse

Class Method Details

.validate(value, options) ⇒ Object

Validates that given value inscluded in the specified list

Parameters:

  • value (Object)

    object to validate

Returns:

  • Boolean true if object is included in the list, false otherwise



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/attr_validator/validators/inclusion_validator.rb', line 9

def self.validate(value, options)
  return [] if value.nil?

  errors = []
  if options[:in]
    unless options[:in].include?(value)
      errors << (options[:message] || AttrValidator::I18n.t('errors.should_be_included_in_list', list: options[:in]))
    end
  end
  errors
end

.validate_options(options) ⇒ Object

Validates that options specified in :inclusion are valid



23
24
25
26
# File 'lib/attr_validator/validators/inclusion_validator.rb', line 23

def self.validate_options(options)
  AttrValidator::ArgsValidator.is_hash!(options, 'validation options')
  AttrValidator::ArgsValidator.has_only_allowed_keys!(options, [:in, :message], 'validation options')
end