Class: ArrayMembersValidator
- Inherits:
-
ActiveModel::EachValidator
- Object
- ActiveModel::EachValidator
- ArrayMembersValidator
- Defined in:
- app/validators/array_members_validator.rb
Overview
ArrayMembersValidator
Custom validator that checks if validated attribute contains non empty array, which every element is an instances of :member_class
Example:
class Config::Root < ActiveRecord::Base
validates :nodes, member_class: Config::Node
end
Instance Method Summary collapse
Instance Method Details
#validate_each(record, attribute, value) ⇒ Object
16 17 18 19 20 |
# File 'app/validators/array_members_validator.rb', line 16 def validate_each(record, attribute, value) if !value.is_a?(Array) || value.empty? || value.any? { |child| !child.instance_of?([:member_class]) } record.errors.add(attribute, _("should be an array of %{object_name} objects") % { object_name: .fetch(:object_name, attribute) }) end end |