Commits on Mar 23, 2011
  1. Bumping to rc.8

    durran committed Mar 23, 2011
Commits on Mar 21, 2011
  1. Use platform option for ruby-debug in Gemfile

    Paul Elliott committed Mar 21, 2011
  2. Print out warning if user redefines a class method with scope

    sikachu committed with Paul Elliott Mar 10, 2011
    This will make sure that no unintentional behavior will happen, such as redefining `public` method.
    The original implementation has been taken from
Commits on Mar 15, 2011
  1. added freeze; frozen? to document

    shawn42 committed with Paul Elliott Mar 7, 2011
  2. Making it possible for nested attributes for arrays of objects

    Jonathan Hicks committed with Paul Elliott Mar 10, 2011
Commits on Mar 14, 2011
  1. want to check if target is there or not directly, to catch not yet pe…

    Visnu Pitiyanuvath committed Mar 14, 2011
  2. Add Observer support. Fixes #280

    cgriego committed Mar 14, 2011
    Mongoid::Observer is an almost exact copy of ActiveRecord::Observer
    * Hook into the fast callback system, like ActiveRecord
    * Mongoid:Observer fixes a bug with around hooks that exists in ActiveRecord
    * Complete with generator
    * Complete with specs
    Add ActiveModel::Observing methods to Mongoid::Config and Mongoid::Document
    * ActiveModel assumes the ORM uses a Base class, like ActiveRecord, it should be split:
    ** Observable (dealing with @observer_instances), for Mongoid::Document
    ** some sort of Observer manager (dealing with @observers), for Mongoid::Config
    * Add delegators to ::Mongoid
    * Railtie handle lifecycle, taken from ActiveRecord
Commits on Mar 10, 2011
Commits on Mar 9, 2011
Commits on Mar 8, 2011
  1. Removing spec or reconnect time

    durran committed Mar 8, 2011
  2. Did not get the full impact of the last commit with versioning and

    durran committed Mar 8, 2011
    relational associations. Reverting for now.
    This reverts commit 4d42e78.
Commits on Mar 7, 2011
  1. Verify type is not an empty string when building

    Paul Elliott committed Mar 7, 2011
  2. Criterion #build and #create accept attributes

    Paul Elliott committed Mar 7, 2011
  3. Add #build for criteria

    Paul Elliott committed Mar 7, 2011
Commits on Mar 5, 2011
  1. Stylistic refactoring around sharding and its specs to keep consisten…

    durran committed Mar 5, 2011
    …t with the target design
  2. mimic ActiveRecord's guard_protected_attributes during mass assignment.

    akreiling committed Mar 5, 2011
        user.send(:attributes=, { :username => 'Phusion', :is_admin => true }, false)
        user.write_attributes( { :username => 'Phusion', :is_admin => true }, false)
  3. Add namespace support for model generation

    Bradley Grzesiak and Josh Swan committed with durran Feb 19, 2011
    Especially useful for writing Rails engines
Commits on Mar 4, 2011
  1. Retrying issued commands when a Mongo::ConnectionFailure occurs.

    vicentemundim committed with durran Mar 1, 2011
    - This implementation follows the guidelines for recovery on connection failures, as detailed here:
    - Added a configuration named max_retries_on_connection_failure, which defaults to 0. This makes everything work as before unless this configuration is set to a value greater than 0.
  2. Adding specs to ensure embedded relations are cloned on master for bo…

    durran committed Mar 4, 2011
    …th new and persisted documents. Fixes #739.
  3. Make sure safe mode is hooked into atomic ops, refactor common behaviour

    durran committed Mar 4, 2011
    up to the operation superclass.
  4. Moving the $inc atomic modifier over with its brothers and sisters.

    durran committed Mar 4, 2011
    - Refactored inc to truly be atomic like the others (remove dirty
      changes) and changed it's internal structure to match the other
  5. Optimizing relational many to many deletion:

    durran committed Mar 4, 2011
    - Performing a #delete_all or #destroy_all now performs an atomic
      $pullAll on the ids of the matching documents on the base, instead of
      saving the entire thing.
  6. More optimizations around building and creating on many to many

    durran committed Mar 4, 2011
    - #create and #create! now leverage the $addToSet operation.
  7. More optimized many-to-many persistence on addition of documents:

    durran committed Mar 4, 2011
    - Previously a base document #save was called at the end of appending of
      new documents, which would perform a $set of the entire foreign key
      and persist any other changes which may have been on the document.
      This was not optimal. Now Mongoid performs an atomic $addToSet on the
      foreign key only so no other changes get persisted and only 1 value
      needs to get send to the db instead of the entire array. (Which would
      get horrific on huge datasets)