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

Inherits:
RuboCop::Cop
  • 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

Instance Method Summary collapse

Instance Method Details

#on_send(node) ⇒ Object



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

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