Sha256: 130f31bc9142e4440060627bdd9c8c0179480546d86111727326ccfa2920b21c

Contents?: true

Size: 805 Bytes

Versions: 2

Compression:

Stored size: 805 Bytes

Contents

require 'dedupe/errors'
require 'dedupe/validations'
require 'dedupe/orm/mongoid'
require 'dedupe/orm/active_record'

module Dedupe
  extend ActiveSupport::Concern
  
  included do
    cattr_accessor :dedupe_scope_name
  end
  
  module ClassMethods
    
    def validates_uniqueness(options={})
      self.dedupe_scope_name = options.delete :using
      if defined?(Mongoid::Document) && self.new.is_a?(Mongoid::Document)
        self.send :include, Orm::Mongoid
      elsif defined?(ActiveRecord::Base) && self.new.is_a?(ActiveRecord::Base)
        self.send :include, Orm::ActiveRecord
      end
      self.send :include, Validations
    end
    
  end
  
end

Mongoid::Document.send :include, Dedupe if defined? Mongoid::Document
ActiveRecord::Base.send :include, Dedupe if defined? ActiveRecord::Base

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dedupe-0.0.1 lib/dedupe.rb
dedupe-0.0.0 lib/dedupe.rb