Refactor validations + tech contacts count validation

This commit is contained in:
Martin Lensment 2015-01-02 16:05:14 +02:00
parent 48e3e716e7
commit 252527c3db
8 changed files with 93 additions and 45 deletions

View file

@ -0,0 +1,8 @@
class ObjectCountValidator < ActiveModel::EachValidator
def validate_each(record, attribute, value)
min, max = options[:min].call, options[:max].call
return if value.reject(&:marked_for_destruction?).length.between?(min, max)
association = options[:association] || attribute
record.errors.add(association, :out_of_range, { min: min, max: max })
end
end