Class: ArrayValidatorBase
- Inherits:
-
ActiveModel::EachValidator
- Object
- ActiveModel::EachValidator
- ArrayValidatorBase
show all
- Defined in:
- lib/active_model_validators_ex/array_validator_base.rb
Instance Method Summary
collapse
Constructor Details
Returns a new instance of ArrayValidatorBase.
2
3
4
5
6
7
|
# File 'lib/active_model_validators_ex/array_validator_base.rb', line 2
def initialize(options)
options[:allow_nil] ||= false
options[:allow_empty] ||= false
super(options)
end
|
Instance Method Details
#custom_validations(record, attribute, value) ⇒ Object
25
26
27
|
# File 'lib/active_model_validators_ex/array_validator_base.rb', line 25
def custom_validations(record, attribute, value)
raise 'override this method to perform custom validations'
end
|
#validate_each(record, attribute, value) ⇒ Object
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# File 'lib/active_model_validators_ex/array_validator_base.rb', line 9
def validate_each(record, attribute, value)
return if options[:allow_nil] && value.nil?
unless value.is_a? Array
record.errors[attribute] << "attribute #{attribute} must be an Array"
return
end
if !options[:allow_empty] and value.empty?
record.errors[attribute] << "attribute #{attribute} can't be empty"
return
end
custom_validations(record, attribute, value)
end
|