Class: RuboCop::Cop::DatabaseValidations::UniquenessOf

Inherits:
Base
  • Object
show all
Defined in:
lib/database_validations/rubocop/cop/uniqueness_of.rb

Overview

Use validates_db_uniqueness_of for uniqueness validation.

Examples:

# bad
validates :slug, uniqueness: true
validates :address, uniqueness: { scope: :user_id }
validates_uniqueness_of :title

# good
validates_db_uniqueness_of :slug
validates_db_uniqueness_of :address, scope: :user_id
validates_db_uniqueness_of :title

Constant Summary collapse

MSG =
'Use `validates_db_uniqueness_of`.'.freeze
RESTRICT_ON_SEND =
i[validates validates_uniqueness_of].freeze

Instance Method Summary collapse

Instance Method Details

#on_send(node) ⇒ Object



23
24
25
26
27
28
29
30
31
# File 'lib/database_validations/rubocop/cop/uniqueness_of.rb', line 23

def on_send(node)
  if node.method_name == :validates_uniqueness_of
    add_offense(node.loc.selector)
  elsif node.method_name == :validates
    uniqueness(node) do |option|
      add_offense(option.loc.expression)
    end
  end
end