Sha256: d50d5d73530cb652a9d602efb9c8b505d7c66cb2184fa826d44c40eeed0bb41a

Contents?: true

Size: 506 Bytes

Versions: 2

Compression:

Stored size: 506 Bytes

Contents

class UniqueNestedValidator < ActiveModel::EachValidator
  def validate_each(record, attribute, value)
    if not attribute.empty?
      with = options[:with] || :id
      if value.collect{|c| c[with]}.uniq.length != value.length
        record.errors.add(attribute, options[:message] || "#{I18n.t('unique_nested_validator.errors.cannot_repeat', default: 'cannot repeat')} #{I18n.t(with.to_s.pluralize, scope: [:unique_nested_validator, :keys], default: with.to_s.pluralize)}")
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
unique_nested_validator-1.0.1 lib/unique_nested_validator.rb
unique_nested_validator-1.0.0 lib/unique_nested_validator.rb