class ActiveRecord::Validations::UniquenessValidator
def validation_needed?(klass, record, attribute)
def validation_needed?(klass, record, attribute) return true if options[:conditions] || options.key?(:case_sensitive) scope = Array(options[:scope]) attributes = scope + [attribute] attributes = resolve_attributes(record, attributes) return true if attributes.any? { |attr| record.attribute_changed?(attr) || record.read_attribute(attr).nil? } !covered_by_unique_index?(klass, record, attribute, scope) end