class AWS::Record::CountValidator
def validate_attribute record, attribute_name, value
def validate_attribute record, attribute_name, value count = case value when nil then 0 when String then 1 when Enumerable then value.count else 1 end if exact = options[:exactly] unless count == exact record.errors.add(attribute_name, wrong_number(exact, count)) end end if within = options[:within] if count < within.first record.errors.add(attribute_name, too_few(within.first, count)) end if count > within.last record.errors.add(attribute_name, too_many(within.last, count)) end end if min = options[:minimum] if count < min record.errors.add(attribute_name, too_few(min, count)) end end if max = options[:maximum] if count > max record.errors.add(attribute_name, too_many(max, count)) end end end