Sha256: f67c080bcfdc50eef60d2adcaef9ef7e917c0747b89b12c1b911101e9c55d55f
Contents?: true
Size: 752 Bytes
Versions: 1
Compression:
Stored size: 752 Bytes
Contents
module Dedupe module Orm module ActiveRecord extend ActiveSupport::Concern included do scope :excluding, lambda { |instance| where('id <> ?', instance.id.to_i) } end module InstanceMethods include Errors def duplicates klass, scope_name = self.class, self.class.dedupe_scope_name raise MissingScope unless klass.respond_to? scope_name result_set = klass.send scope_name, self raise InvalidScope unless result_set.is_a? ::ActiveRecord::Relation result_set.excluding self end def duplicate? self.duplicates.present? end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
dedupe-0.0.0 | lib/dedupe/orm/active_record.rb |