class ActiveModel::Errors
def of_kind?(attribute, type = :invalid)
person.errors.of_kind? :name, :not_too_long # => false
person.errors.of_kind? :name, "is too long (maximum is 25 characters)" # => true
person.errors.of_kind? :name, :too_long # => true
person.errors.of_kind? :name # => false
person.errors.of_kind? :age # => true
person.errors.add :name, :too_long, { count: 25 }
person.errors.add :age
present, or +false+ otherwise. +type+ is treated the same as for +add+.
Returns +true+ if an error on the attribute with the given type is
def of_kind?(attribute, type = :invalid) attribute, type = normalize_arguments(attribute, type) if type.is_a? Symbol !where(attribute, type).empty? else messages_for(attribute).include?(type) end end