7
8
9
10
11
12
13
14
15
|
# File 'lib/interactor/validation/validators/length.rb', line 7
def validate_length(param, value, rule)
len = value.respond_to?(:length) && !value.is_a?(String) ? value.length : value.to_s.length
unit = collection?(value) ? "items" : "characters"
validate_minimum_length(param, len, rule[:minimum], unit, rule[:message]) if rule[:minimum]
validate_maximum_length(param, len, rule[:maximum], unit, rule[:message]) if rule[:maximum]
validate_exact_length(param, len, rule[:is], unit, rule[:message]) if rule[:is]
end
|