Module: FindDuplicates

Extended by:
ActiveSupport::Concern
Included in:
ActiveRecord::Base
Defined in:
lib/find_duplicates.rb,
lib/find_duplicates/version.rb

Defined Under Namespace

Modules: ClassMethods

Constant Summary collapse

VERSION =
"0.0.2"

Instance Method Summary collapse

Instance Method Details

#duplicate?(*args) ⇒ Boolean

Returns:

  • (Boolean)


7
8
9
10
# File 'lib/find_duplicates.rb', line 7

def duplicate?(*args)
  set_fields(args)
  duplicates_with_self(@fields).count > 1
end

#duplicates(*args) ⇒ Object



12
13
14
15
# File 'lib/find_duplicates.rb', line 12

def duplicates(*args)
  set_fields(args)
  duplicates_with_self(@fields).where('id <> ?', id)
end

#duplicates_with_self(*args) ⇒ Object



17
18
19
20
# File 'lib/find_duplicates.rb', line 17

def duplicates_with_self(*args)
  set_fields(args)
  self.class.where(self.attributes.slice(*@fields))
end