Class: MongoMapper::Validations::ValidatesUniquenessOf

Inherits:
Validatable::ValidationBase
  • Object
show all
Defined in:
lib/mongomapper/validations.rb

Instance Method Summary collapse

Instance Method Details

#message(instance) ⇒ Object



29
30
31
# File 'lib/mongomapper/validations.rb', line 29

def message(instance)
  super || "has already been taken"
end

#valid?(instance) ⇒ Boolean

Returns:



20
21
22
23
24
25
26
27
# File 'lib/mongomapper/validations.rb', line 20

def valid?(instance)
  conditions = {self.attribute => instance[attribute]}
  if scope
    conditions.merge!(scope => instance[scope])
  end
  doc = instance.class.find(:first, :conditions => conditions, :limit => 1)
  doc.nil? || instance.id == doc.id
end