Class: ActiveData::Model::Validations::NestedValidator
- Inherits:
-
ActiveModel::EachValidator
- Object
- ActiveModel::EachValidator
- ActiveData::Model::Validations::NestedValidator
- Defined in:
- lib/active_data/model/validations/nested.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.validate_nested(record, name, value) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/active_data/model/validations/nested.rb', line 5 def self.validate_nested(record, name, value) if value.is_a?(Enumerable) value.each.with_index do |object, i| if yield(object) object.errors.each do |key, | key = "#{name}.#{i}.#{key}" record.errors[key] << record.errors[key].uniq! end end end elsif value && yield(value) value.errors.each do |key, | key = "#{name}.#{key}" record.errors[key] << record.errors[key].uniq! end end end |
Instance Method Details
#validate_each(record, attribute, value) ⇒ Object
25 26 27 28 29 |
# File 'lib/active_data/model/validations/nested.rb', line 25 def validate_each(record, attribute, value) self.class.validate_nested(record, attribute, value) do |object| object.invalid? && !(object.respond_to?(:marked_for_destruction?) && object.marked_for_destruction?) end end |