Commit Graph

21 Commits

Author SHA1 Message Date
Blake Watters
79e31b524a Refactored managed object caches and connection support to enable connecting by multiple atributes that are specified as arrays.
* Migrated the caches to return `NSSet` to eliminate duplicate objects when your cache keys overlap
* Introduced new recursive strategy for building cache keys in `RKInMemoryManagedObjectCache`
* Added support for array cache key values in `RKFetchRequestManagedObjectCache`
* Re-enabled a slew of tests that were disabled during 0.20 development
2012-12-06 23:43:34 -05:00
Blake Watters
b502f5431b Drop the entity description category entirely 2012-11-28 22:52:39 -05:00
Blake Watters
8dc54a89b2 Major overhaul to the Core Data managed object identification and relationship connection support.
* Replaces primary key with `RKEntityIdentifier`
* Add support for use of compound keys for object identification
* Refactor `RKConnectionMapping` to `RKConnectionDescription` and add support for connecting with multiple attributes
* Clarify naming of representation key methods to better match naming conventions
* Add type transformation support for object identification
* Greatly expand test coverage for object identification
* Drop the `NSEntityDescription` category
* Simplify the `RKManagedObjectCaching` protocol
* Add compound key support to the Fetch Request and In Memory Cache implementations
* Replace Kiwi with Specta for tests where contexts are helpful for organization
* Rename `defaultValueForMissingAttribute` to `defaultValueForAttribute`
2012-11-27 10:29:36 -05:00
Blake Watters
0539aeb45e Documentation formatting and touch ups 2012-09-29 17:54:51 -04:00
Arne Harren
bc7c65f03b Switch to an embedded variant of LibComponentLogging with prefix RK 2012-09-27 21:47:36 +02:00
Jawwad Ahmad
285586a5b5 Some code formatting cleanup. 2012-09-02 13:15:14 -04:00
Jawwad Ahmad
8cbdb5f7ed Trailing whitespace cleanup from files in the Code directory.
Used the following command from within the Code dir:
git ls-files *.m *.h *.json | xargs /usr/bin/sed -i '' -E 's/[[:space:]]*$//'
2012-09-02 12:51:45 -04:00
Blake Watters
ce6b0829e4 Convert RestKit to ARC 2012-08-28 17:34:58 -04:00
Blake Watters
093a76e7b2 Migrated to a single entity cache for the primary MOC instead of one per thread 2012-07-20 15:41:47 -04:00
Charlie Savage
f368f9a16c Add findInstancesOfEntity method to cache to support one to many relationships. 2012-07-11 12:14:28 -04:00
Jawwad Ahmad
82f4630d36 Whitespace syntax cleanup. Refs #614 2012-07-11 10:41:38 -04:00
Blake Watters
fcb973056b Cleanup trailing whitespace. refs #743 2012-05-17 18:00:16 -04:00
Blake Watters
2c704e6fdc Merge branch 'feature/635-accelerate-entity-cache' into development 2012-05-15 19:42:19 -04:00
Blake Watters
9bf89ebec1 Completed documentation and testing for managed object cache overhaul. refs #635 2012-05-15 12:49:42 -04:00
Blake Watters
9e75eb14bd Cacheing -> Caching 2012-05-12 19:24:18 -04:00
Blake Watters
15f41c6622 Clean tests, added cached predicate usage for fetch request cache strategy. refs #739 2012-05-12 19:18:29 -04:00
Blake Watters
a01d47316c Added new logging component for Core Data cacheing subsystem. Fixed performance degradation in entity cache. Enabled RKManagedObjectCacheing callbacks to accelerate mapping, disabled processPendingChanges 2012-05-04 23:19:14 -04:00
Blake Watters
fbcef6abd5 First functional cut at new Core Data cacheing implementation. Tests clean, needs polishing. 2012-05-04 22:15:30 -04:00
Blake Watters
457a6126cf Refresh copyright notices for all source files 2012-04-04 09:08:54 -04:00
Blake Watters
d943d9b932 Ensure In Memory Cache is scoped to the target managed object context 2012-04-04 08:17:23 -04:00
Blake Watters
a545c3942b Integrated primaryKey extension to NSEntityDescription and refactored cache strategy
classes to eliminate issues with duplicated objects. closes #611, #612, #613, #618

* NSEntityDescription is now aware of the primaryKeyAttribute. Can be configured via
Interface Builder within Xcode or programatically.
* Added findByPrimaryKey: interface to the Core Data extensions.
* Relaxed dependencies on RKManagedObjectMapping across the system now that primaryKey is
available without a reference to the mapping.
2012-04-03 23:39:42 -04:00