Class: Hydra::Validations::CardinalityValidator

Inherits:
ActiveModel::Validations::LengthValidator
  • Object
show all
Defined in:
lib/hydra/validations/cardinality.rb

Overview

CardinalityValidator - A cardinality validator for enumerable values based on ActiveModel’s LengthValidator.

validates :field, cardinality: { minimum: 1, maximum: 5 } validates :field, cardinality: { in: 1..5 } validates :field, cardinality: { within: 1..5 } validates :field, cardinality: { is: 1 }

See ActiveModel::Validations::LengthValidator for options.

Instance Method Summary collapse

Constructor Details

#initialize(options = {}) ⇒ CardinalityValidator

Returns a new instance of CardinalityValidator.



18
19
20
# File 'lib/hydra/validations/cardinality.rb', line 18

def initialize(options = {})
  super(default_options.merge(options))
end

Instance Method Details

#validate_each(record, attribute, value) ⇒ Object



22
23
24
25
# File 'lib/hydra/validations/cardinality.rb', line 22

def validate_each(record, attribute, value)
  return if options[:allow_empty] && value.respond_to?(:empty?) && value.empty?
  super
end