Sha256: d34a76a3364589a9ef7659c2ab18e265c2f2aceebee344c865c7bd115013680b
Contents?: true
Size: 1.08 KB
Versions: 12
Compression:
Stored size: 1.08 KB
Contents
# frozen_string_literal: true module Dsu module Validators class DescriptionValidator < ActiveModel::Validator def validate(record) description = record.description if description.blank? record.errors.add(:description, :blank) return end unless description.is_a?(String) record.errors.add(:description, 'is the wrong object type. ' \ "\"String\" was expected, but \"#{description.class}\" was received.") return end validate_description record end private def validate_description(record) description = record.description return if description.length.between?(2, 256) if description.length < 2 record.errors.add(:description, "is too short: \"#{record.short_description}\" (minimum is 2 characters).") elsif description.length > 256 record.errors.add(:description, "is too long: \"#{record.short_description}\" (maximum is 256 characters).") end end end end end
Version data entries
12 entries across 12 versions & 1 rubygems