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