Class: AttrValidator::Validators::ExclusionValidator

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

Class Method Summary collapse

Class Method Details

.validate(value, options) ⇒ Object

Validates that value isn’t in the specified list validation.in

Parameters:

  • value

    Object object to validate exclusion

Returns:

  • Boolean true if object is excluded, false otherwise



6
7
8
9
10
11
12
13
14
15
16
# File 'lib/attr_validator/validators/exclusion_validator.rb', line 6

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

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

.validate_options(options) ⇒ Object



18
19
20
21
# File 'lib/attr_validator/validators/exclusion_validator.rb', line 18

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