method

covered_by_unique_index?

Importance_0
Ruby on Rails latest stable (v6.1.7.7) - 0 notes - Class: ActiveRecord::Validations::UniquenessValidator
  • 1.0.0
  • 1.1.6
  • 1.2.6
  • 2.0.3
  • 2.1.0
  • 2.2.1
  • 2.3.8
  • 3.0.0
  • 3.0.9
  • 3.1.0
  • 3.2.1
  • 3.2.8
  • 3.2.13
  • 4.0.2
  • 4.1.8
  • 4.2.1
  • 4.2.7
  • 4.2.9
  • 5.0.0.1
  • 5.1.7
  • 5.2.3
  • 6.0.0
  • 6.1.3.1
  • 6.1.7.7
  • 7.0.0
  • 7.1.3.2 (0)
  • What's this?

Method not available on this version

This method is only available on newer versions. The first available version of the method is shown here.

covered_by_unique_index?(klass, record, attribute, scope) private

No documentation

This method has no description. You can help the Ruby on Rails community by adding new notes.

Hide source
# File activerecord/lib/active_record/validations/uniqueness.rb, line 82
      def covered_by_unique_index?(klass, record, attribute, scope)
        @covered ||= self.attributes.map(&:to_s).select do |attr|
          attributes = scope + [attr]
          attributes = resolve_attributes(record, attributes)

          klass.connection.schema_cache.indexes(klass.table_name).any? do |index|
            index.unique &&
              index.where.nil? &&
              (Array(index.columns) - attributes).empty?
          end
        end

        @covered.include?(attribute.to_s)
      end
Register or log in to add new notes.