Included Modules

Class/Module Index [+]

Quicksearch

Mongoid::Validations

This module provides additional validations that ActiveModel does not provide: validates_associated and validates_uniqueness_of.

Public Instance Methods

begin_validate() click to toggle source

Begin the associated validation.

@example Begin validation.

document.begin_validate

@since 2.1.9

# File lib/mongoid/validations.rb, line 29
def begin_validate
  Threaded.begin_validate(self)
end
exit_validate() click to toggle source

Exit the associated validation.

@example Exit validation.

document.exit_validate

@since 2.1.9

# File lib/mongoid/validations.rb, line 39
def exit_validate
  Threaded.exit_validate(self)
end
read_attribute_for_validation(attr) click to toggle source

Overrides the default ActiveModel behaviour since we need to handle validations of relations slightly different than just calling the getter.

@example Read the value.

person.read_attribute_for_validation(:addresses)

@param [ Symbol ] attr The name of the field or relation.

@return [ Object ] The value of the field or the relation.

@since 2.0.0.rc.1

# File lib/mongoid/validations.rb, line 55
def read_attribute_for_validation(attr)
  attribute = attr.to_s
  if relations.has_key?(attribute)
    begin_validate
    relation = without_autobuild { send(attr) }
    exit_validate
    relation.do_or_do_not(:in_memory) || relation
  elsif fields[attribute].try(:localized?)
    attributes[attribute]
  else
    send(attr)
  end
end
valid?(context = nil) click to toggle source

Determine if the document is valid.

@example Is the document valid?

person.valid?

@example Is the document valid in a context?

person.valid?(:create)

@param [ Symbol ] context The optional validation context.

@return [ true, false ] True if valid, false if not.

@since 2.0.0.rc.6

# File lib/mongoid/validations.rb, line 82
def valid?(context = nil)
  super context ? context : (new_record? ? :create : :update)
end
validated?() click to toggle source

Used to prevent infinite loops in associated validations.

@example Is the document validated?

document.validated?

@return [ true, false ] Has the document already been validated?

@since 2.0.0.rc.2

# File lib/mongoid/validations.rb, line 94
def validated?
  Threaded.validated?(self)
end
validating_with_query?() click to toggle source

Are we currently performing a validation that has a query?

@example Are we validating with a query?

document.validating_with_query?

@return [ true, false ] If we are validating with a query.

@since 3.0.2

# File lib/mongoid/validations.rb, line 106
def validating_with_query?
  self.class.validating_with_query?
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.