Skip to content
Commits on Mar 5, 2011
  1. @durran
  2. @durran

    Stylistic refactoring around sharding and its specs to keep consisten…

    durran committed
    …t with the target design
  3. @akreiling

    mimic ActiveRecord's guard_protected_attributes during mass assignment.

    akreiling committed
    e.g.
    
        user.send(:attributes=, { :username => 'Phusion', :is_admin => true }, false)
        user.write_attributes( { :username => 'Phusion', :is_admin => true }, false)
  4. @durran

    Add namespace support for model generation

    Bradley Grzesiak and Josh Swan committed with durran
    Especially useful for writing Rails engines
  5. @ealdent @durran
Commits on Mar 4, 2011
  1. @vicentemundim @durran

    Retrying issued commands when a Mongo::ConnectionFailure occurs.

    vicentemundim committed with durran
    - This implementation follows the guidelines for recovery on connection failures, as detailed here: http://api.mongodb.org/ruby/current/file.REPLICA_SETS.html
    
    - 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. @durran

    Adding specs to ensure embedded relations are cloned on master for bo…

    durran committed
    …th new and persisted documents. Fixes #739.
  3. @durran

    Make sure safe mode is hooked into atomic ops, refactor common behaviour

    durran committed
    up to the operation superclass.
  4. @durran

    Moving the $inc atomic modifier over with its brothers and sisters.

    durran committed
    - Refactored inc to truly be atomic like the others (remove dirty
      changes) and changed it's internal structure to match the other
      operations.
  5. @durran

    Optimizing relational many to many deletion:

    durran committed
    - 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. @durran
  7. @tanordheim @durran
  8. @durran

    More optimizations around building and creating on many to many

    durran committed
    relations.
    
    - #create and #create! now leverage the $addToSet operation.
  9. @durran
  10. @durran

    More optimized many-to-many persistence on addition of documents:

    durran committed
    - 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)
  11. @durran
  12. @durran

    fixed rdoc and integration spec 'copy/pastes'

    edmundsalvacion committed with durran
  13. @durran

    added add_to_set modifier plus tests

    edmundsalvacion committed with durran
  14. @durran

    Adding in the ability to explicitly perform atomic $push operations.

    durran committed
    - Syntax: Model#push(:field, value, :safe => true)
    
    - If the field has not been initialized Mongoid will default it to an
      empty array.
  15. @durran

    Fill out the docs for ReferencedValidator.

    Visnu Pitiyanuvath committed with durran
  16. @durran

    Don't validate stuff that hasn't changed.

    Visnu Pitiyanuvath committed with durran
  17. @durran

    Referential validations no longer load the entire relation from the d…

    Visnu Pitiyanuvath committed with durran
    …b with
    
    `:validates => true` being set.
    
    If you want the old behavior, use `validates_associated`:
    
      class Person
        references_many :posts
        validates_associated :posts
      end
    
    Since `:validates => true` is now a sane default, it's been turned back on in
    all the relations used in the specs.
Commits on Mar 3, 2011
  1. @durran

    Damn you Ruby you caught me. Aliases dont apply to subclasses since t…

    durran committed
    …hey are like method copies, need to define them on all many proxy subclasses
  2. @durran

    Updating benchmarks to better represent what the data model may look …

    durran committed
    …like for a typical application with a large dataset. (1 million docs in main collection)
  3. @durran

    Minimizing number of passes through Many#method_missing:

    durran committed
    - In cases where the relation does not need to be loaded from the
      database for calls that were being caught by method_missing, implement
      those methods.
Commits on Mar 2, 2011
  1. @durran
  2. @durran

    Changing appending of documents to relational many and many-to-many not

    durran committed
    to load all documents from the database.
    
    - All specs pass, although I suspect there are missing specs around the
      scenario where documents already exist and the new documents get
      appended.
Commits on Mar 1, 2011
  1. Fix for REE 1.8

    Visnu Pitiyanuvath committed
  2. @davekrupinski @durran
  3. @durran

    Removal of relational many-to-many documents deletes the foreign keys:

    durran committed
    - Ids stored on the base as foreign keys are now removed for matching
      documents in relation#delete_all and relation#destroy_all.
    
    - Base document autosaves on this deletion.
  4. @durran
  5. @durran
  6. @durran
  7. @etehtsea
  8. Fix one more case of $in performing an intersection.

    Visnu Pitiyanuvath committed
Something went wrong with that request. Please try again.