Class: Veto::LengthRangeValidator

Inherits:
AttributeValidator show all
Defined in:
lib/veto/validators/length_range_validator.rb

Instance Method Summary collapse

Methods inherited from AttributeValidator

#execute, #initialize

Methods inherited from AbstractValidator

#execute

Constructor Details

This class inherits a constructor from Veto::AttributeValidator

Instance Method Details

#validate(entity, attribute, value, errors, options = {}) ⇒ Object



5
6
7
8
9
10
11
12
13
14
# File 'lib/veto/validators/length_range_validator.rb', line 5

def validate entity, attribute, value, errors, options={}
	range = options.fetch(:in)
	inclusion_method = range.respond_to?(:cover?) ? :cover? : :include?
	message = options.fetch(:message, :length_range)
	on = options.fetch(:on, attribute)
	
	if value.nil? || !range.send(inclusion_method, value.length)
		errors.add(on, message)
	end
end