module ActiveModel::AttributesValidation
Constants
- VERSION
Public Instance Methods
attributes_valid?(*attrs)
click to toggle source
# File lib/active_model/attributes_validation.rb, line 7 def attributes_valid?(*attrs) errors.clear attr_validators = self.class.validators_on(*attrs).uniq specific_validators = attr_validators.collect do |validator| validator = validator.dup validated_attributes = validator.attributes & attrs validator.instance_variable_set(:@attributes, validated_attributes) validator end self_validation = ->{ specific_validators.each { |validator| validator.validate(self) } } if self.class.ancestors.include?(ActiveModel::Validations::Callbacks) run_callbacks(:validation) { self_validation.call } else self_validation.call end errors.empty? end