Sha256: 52e371284c53190798ad4e0f189a2aadb32a70f0881997b755072a7287453c33

Contents?: true

Size: 1.28 KB

Versions: 5

Compression:

Stored size: 1.28 KB

Contents

# encoding: utf-8
require "mongoid/validations/associated"
require "mongoid/validations/uniqueness"

module Mongoid #:nodoc:
  # This module provides additional validations that ActiveModel does not
  # provide: validates_associated and validates_uniqueness_of
  module Validations
    extend ActiveSupport::Concern
    included do
      include ActiveModel::Validations
    end

    module ClassMethods #:nodoc:
      # Validates whether or not an association is valid or not. Will correctly
      # handle has one and has many associations.
      #
      # Example:
      #
      #   class Person
      #     include Mongoid::Document
      #     embeds_one :name
      #     embeds_many :addresses
      #
      #     validates_associated :name, :addresses
      #   end
      def validates_associated(*args)
        validates_with(AssociatedValidator, _merge_attributes(args))
      end

      # Validates whether or not a field is unique against the documents in the
      # database.
      #
      # Example:
      #
      #   class Person
      #     include Mongoid::Document
      #     field :title
      #
      #     validates_uniqueness_of :title
      #   end
      def validates_uniqueness_of(*args)
        validates_with(UniquenessValidator, _merge_attributes(args))
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
mongoid-2.0.0.beta.20 lib/mongoid/validations.rb
mongoid-2.0.0.beta.19 lib/mongoid/validations.rb
mongoid-2.0.0.beta.18 lib/mongoid/validations.rb
mongoid-2.0.0.beta.17 lib/mongoid/validations.rb
mongoid-2.0.0.beta.16 lib/mongoid/validations.rb