Permalink
Commits on May 15, 2012
  1. Mongo document saving will now update only the elements that changed …

    …for the object being updated, by comparing new data against the originally requested data.
    
    Mongo fetch & update also uses dot notation so that exact document matching isn't necessary, also avoids data loss due to updates that occur across each other.
    
    Three new static methods have been added to the mongo Object: dotNotation(), recurseDiff(), and arrayObject(); these methods are respectively used for conversion of an array/object to dot notation syntax, recursively comparing two or more variables, and converting an array to an object (stdclass). The arrayObject() method is currently unusued, and may be removed.
    
    Document has been updated so that calling a relation using magic methods, can now additionally provide PKs to filter the results by.
    Changed how relations are managed & stored. Removed redundant criteria parameter from getRelated().
    Updated stringify method to sort arrays by key before converting to string; additionally converting numeric values to strings for consistency.
    committed May 15, 2012
Commits on Apr 19, 2012
Commits on Apr 18, 2012
  1. Added todo

    committed Apr 18, 2012
Commits on Apr 12, 2012
  1. Updated phpdoc comments and added some additional verbosity to base O…

    …bject class, for store(), delete(), reload() methods.
    committed Apr 12, 2012
  2. Reverted change to MetaData which had disabled the incorrect function…

    …ality. Class-level phpdoc parsing to detect magic attributes is now properly disabled.
    committed Apr 12, 2012
  3. Added functionality to typecast attributes. Primary keys are now type…

    …cast as well, based on the attributes that comprise the PKs. This should ensure better data-type consistency, to reduce errors with issuing a find(), for instance, and will hopefully avoid query failures due to type mismatches (i.e. - values from a $_GET request would all be seen a strings, but if you pass a mongo generated PK (MongoId) as a string, and it's not typecast, it won't match against the MongoId pk in database, unless typecasting occurs).
    
    Restructured how relations and nested relations are managed.
    Reworked management of primary key handling in ActiveDocument.
    Updated stringify method to account for __toString() method of Objects when turning a value into a string representation.
    Fixed bug in clearRelation() when clearing a HasMany/ManyMany relation's indices.
    ActiveDocument now throws an exception when a custom primary key structure is defined, but the pk is null when being stored.
    Applied typecasting keys supplied to the find*() and count() methods.
    committed Apr 12, 2012
  4. Changes to Mongo driver, to allow for non-string PKs, and ensuring th…

    …at MongoId values are handled properly
    committed Apr 12, 2012
  5. Updated RelationPk behavior to handle onIssetMissingAttribute, in add…

    …ition to onGetMissingAttribute (which was already being handled)
    committed Apr 12, 2012
Commits on Apr 2, 2012
Commits on Mar 29, 2012
  1. Fixing problem with pk for Mongo, where pk breaks if not string (unac…

    …ceptable for generated ids, which have MongoId type)
    committed Mar 29, 2012
Commits on Mar 28, 2012
  1. Updating sub-repo

    committed Mar 28, 2012
  2. Adding todo

    committed Mar 28, 2012
  3. Modification to how changed attributes are tracked. Non-magic propert…

    …ies weren't being properly tracked.
    committed Mar 28, 2012
  4. Correcting issue with relations

    committed Mar 28, 2012
Commits on Mar 27, 2012
Commits on Mar 26, 2012
  1. merge

    committed Mar 26, 2012
  2. Attempting a fix for new Riak behavior that is including deleted obje…

    …cts in m/r request, breaks json.
    committed Mar 26, 2012
Commits on Mar 22, 2012
  1. Fixing empty object filtering

    committed Mar 22, 2012
Commits on Mar 21, 2012
  1. Added before/afterSaveInternal events.

    Updated empty object filtering in query() method
    committed Mar 21, 2012
Commits on Mar 16, 2012
  1. Added support in Document magic methods, for an event to trigger hand…

    …lers when magic attributes are not resolved via normal methods.
    
    Added RelationPk behavior, which will return the primary key for relation(s) when calling a non-existent (magic) attribute of {relation}Pk.
    Created folder for events
    Removed support for MetaData magic attribute detection, due to issues that this causes along with incompleteness of the feature.
    
    --HG--
    rename : Event.php => events/Event.php
    rename : Event.php => events/Magic.php
    intel352 committed Mar 16, 2012
Commits on Mar 14, 2012
  1. Updated ignore

    committed Mar 14, 2012
  2. Updating docs

    committed Mar 14, 2012
  3. Correcting url for docs

    committed Mar 14, 2012
  4. Adding wiki/docs

    committed Mar 14, 2012
  5. Updated readme

    committed Mar 14, 2012
  6. Added missing array/between criteria matching for Riak adapter. Array…

    … matching is still disabled due to dependent functions
    
    Modified how columns & values are encoded, so that non-strings could theoretically be passed as criteria for comparison
    Changed between logic for Memory adapter to use >= and <= for inclusive matching, instead of > and <
    committed Mar 14, 2012
  7. Improving phpdoc

    Enabled scopes support (was only partially implemented)
    Added $criteria parameter to getRelated & getRelatedByIndex methods
    Added missing criteria options to relation classes
    Implemented missing logic to apply relation criteria when fetching related objects
    Added findByAttributes and findAllByAttributes methods
    committed Mar 14, 2012
Commits on Mar 13, 2012
Commits on Mar 11, 2012
  1. Changed insert/save/remove commands in mongodb to perform with the "s…

    …afe" option enabled.
    
    Refactored much of the document saveInternal method logic, fixing several issues with relation saving
    Fixed issues with removing relations and management of autoindices
    intel352 committed Mar 11, 2012
Commits on Mar 9, 2012
  1. merge

    intel352 committed Mar 9, 2012
  2. Added MetaData::addProperty & hasProperty methods

    Added Document::isModified and related properties to track changes to a model
    Added new behavior, RelationCount
    
    --HG--
    rename : behaviors/Timestamp.php => behaviors/RelationCount.php
    intel352 committed Mar 9, 2012