Class: Veto::LengthRangeCheck

Inherits:
AttributeCheck show all
Defined in:
lib/veto/checks/length_range_check.rb

Instance Method Summary collapse

Methods inherited from AttributeCheck

#call, #initialize

Methods inherited from Check

#call

Constructor Details

This class inherits a constructor from Veto::AttributeCheck

Instance Method Details

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



3
4
5
6
7
8
9
10
11
12
# File 'lib/veto/checks/length_range_check.rb', line 3

def check(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