# File lib/aws/record/validators/count.rb, line 36
      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